你真的会做小程序按钮吗?看了字节35K前端的样式设计,悟了

简介: 你真的会做小程序按钮吗?看了字节35K前端的样式设计,悟了

一、背景介绍

近来公司业务比较忙,这两天又正好是周末,本来想好好打场球然后好好搓一顿再睡个天昏地暗的。然后突然发现这两天是一年一度的1024程序员日,忽然发觉这已经是第五个告别学生生涯,用代码改变世界的纪念日了。不仅让我想起了当年一起泡实验室、熬通宵憋论文的刘二狗了。

3c6f2f196d784cb0b8d20a19ee154377.jpg请允许我附一下刘二狗的经典表情。对的,他在每次看代码时总是瞪着铜铃般的双眼,仿佛觉得只要眼睛瞪得够大程序就会没有bug!


也可能正是因为他这一双对bug充满力量的眼睛,他选择了前端,我走上了大数据。在毕业那段时间offer收割到手软,经常跟我凡尔赛说要带我改变世界。


刚好在蹭着这个程序员节日,我对这个二狗子进行了骚扰。好家伙,现在都是字节的高级前端了,都到这份上了,这不得好好的跟人家学两招,看看所谓的前端开发工程师跟高级前端开发到底有啥水分,也替张一鸣老板验验货😘😘

ee58d8c7eaf710a8f6f2dffd25a6436f.jpg


然后,我们就时下火热的小程序技术展开了讨论。


🧑🏽二狗说: 还记得曾经那些让我们引以为傲的炫酷样式吗?

👦🏻我说: 那不都是调调包?拿来主义而已,小事!怎么回事,我们这牛逼的字节跳动前端工程师,搞了这么多年,调包都不会了?😜

🧑🏽二狗说: 老子以前是调包侠,现在是造物主!😁说不定你们公司现在用的样式库都是我在那个夜黑风高的夜晚憋出来的呢!

👦🏻我说: 真的假的?又想着改变世界了是吧?👻 口说无凭,拉出来遛遛!

🧑🏽二狗说: 哈哈,我这卡姿兰带大眼睛啥时候吹牛打草稿过?😂 就比方说,现在做移动端方向的小程序开发来说,你现在用的样式库,其实有很多设计很粗糙,那就拿页面中的一个按钮来说吧,每一个经得起推敲和耐看的细节才是我们前端永远追求的神。

👦🏻我说: Show Me your Code!🤡


二、效果展示

2.1 传统的样式

(1)小程序开发常用样式库一:uview样式库

2d49a0d2964b4e08b04243b50c8f08fd.png


(2)小程序开发常用样式库二:vantUI样式库

bbb12e8d9a534cb093fef375e3f095aa.png


2.2 高级的样式

(1) 圆形样式

3e86f49939654c6787f01256d9105e14.png


(2)方形样式

0b3d63e5e4764f1ebb8975f8980b8360.png


(3)方形酷黑样式

d8b126fb56bc46cf87c579befc9408d2.png


三、源码解析

二狗的样式着实让我眼前一亮,在我的软磨硬泡之下,他乖乖的交出了源码,让我们一起学习一下,顺便祝大家1024快乐

那我们就拿其中的一个样式仔细分析分析:

7af8acf09b1d49f3b6019f1f75b3756e.png


3.1 元素设计

      .btn {
        display: flex;
        justify-content: center;
        align-items: center;    // 这三行保证按钮中图标图片的样式居中
        width: 100rpx;
        height: 100rpx;
        border-radius: 20rpx;
        background: #373d44;
        box-shadow: 5px 5px 10px #16181b, -5px -5px 10px #58626d; // 添加高级感的背景阴影
        image {  // 固定图标大小
          width: 50rpx;
          height: 50rpx;
        }
      }

3.2 完整代码示例

<template>
  <view>
    <view class="row">
      <view class="cell" v-for="(item,index) in img" :key="index">
        <view class="btn">
          <image :src="item"></image>
        </view>
      </view>
    </view>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        img: ["https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/a1.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/b1.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/d1.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/c-z-2.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/c-c-2.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/c-w-2.png",
          "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/a1.png",
            "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/b1.png",
            "https://6e69-niew6-1302638010.tcb.qcloud.la/%E6%96%B0%E6%8B%9F%E6%80%81%E5%9B%BE%E6%A0%87/d1.png",
        ]
      }
    }
  }
</script>
<style lang="scss">
  page {
    background-color: #3d444c;
  }
  .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    .cell {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 30%;
      height: 300rpx;
      .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100rpx;
        height: 100rpx;
        border-radius: 20rpx;
        background: #373d44;
        box-shadow: 5px 5px 10px #16181b,
          -5px -5px 10px #58626d;
        image {
          width: 50rpx;
          height: 50rpx;
        }
      }
    }
  }
</style>


相关文章
|
15天前
|
小程序 前端开发 数据可视化
作为一个前端小白,我竟然搞定了一个小程序的交付
作为一名刚毕业的前端码农,今年毕业后就加入了一家初创公司。入职不久便接到了一个小程序开发项目,客户特别强调必须使用小程序原生语言进行开发。由于时间紧迫而合适的后端开发者暂时还没到位,老板决定让我边学边做,承担起整个项目的前后端开发工作。对于初出茅庐的我来说,这无疑是一个巨大的挑战。不仅要掌握一门新的编程语言,还要学习数据库设计、服务器部署等一系列后端技术,任务艰巨。正当我为此感到头疼时,一位前辈向我推荐了极态云。经过一番调研后发现,它简直就是为像我这样缺乏后端经验但又急需快速完成项目的人量身定做的解决方案!
作为一个前端小白,我竟然搞定了一个小程序的交付
|
30天前
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
280 8
|
26天前
|
移动开发 小程序 前端开发
小程序的前端插件都有哪些?
【10月更文挑战第16天】小程序的前端插件都有哪些?
36 1
|
30天前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
149 1
|
1月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
59 0
微信小程序:自定义关注公众号组件样式
|
2月前
|
前端开发 数据安全/隐私保护
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
本文档详细介绍了HTML表单的多种元素及其用法,包括下拉菜单(`&lt;select&gt;` 和 `&lt;option&gt;`)、文本域(`&lt;textarea&gt;`)、标签解释(`&lt;label&gt;`)、各类按钮(`&lt;button&gt;`)及表单重置功能、无语义布局标签(`&lt;div&gt;` 和 `&lt;span&gt;`)以及字符实体的应用。此外,还提供了一个完整的注册信息表单案例,涵盖个人信息、教育经历和工作经历等部分,展示了如何综合运用上述元素构建实用的表单。
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
85 1
|
2月前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
55 11
|
2月前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
245 5
|
2月前
|
前端开发 小程序 开发者
小程序的前端 display 有什么类型?
【9月更文挑战第4天】小程序的前端 display 有什么类型?
65 4