你真的会做小程序按钮吗?看了字节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>


相关文章
|
8天前
|
前端开发 数据安全/隐私保护
【前端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标签 按钮 【附注册信息综合案例】
|
7天前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
22 11
|
12天前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
28 5
|
14天前
|
前端开发 小程序 开发者
小程序的前端 display 有什么类型?
【9月更文挑战第4天】小程序的前端 display 有什么类型?
21 4
|
18天前
|
前端开发 小程序 开发者
小程序的前端 display 有什么类型?
【9月更文挑战第1天】小程序的前端 display 有什么类型?
15 2
|
21天前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
本文介绍如何在Taro项目中配置深色模式。通过在`src/app.config.ts`设置`darkmode`选项和在`theme.json`中定义主题变量,可以实现跟随系统主题的界面风格切换。
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
|
22天前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
19天前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
34 0
|
20天前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
29 0
|
1月前
|
前端开发
前端ElementPlus框架中的几种图标按钮使用方式
本文介绍了如何在Element Plus前端框架中使用带有图标的按钮,包括设置按钮大小、图标大小、按钮类型以及如何为图标添加点击事件。
122 0