【微信小程序】按钮button组件宽设置无效解决方案

24 篇文章 1 订阅
22 篇文章 1 订阅

问题背景:

给button组件添加一个class类名,在对应的wxss中编写宽的设置样式,竟然发现无效,审查元素后发现了原因,被小程序自带的样式影响了

情况1:未给button设置size属性自定义样式的width失效

当没有设置size="mini"的属性时,被小程序自带默认样式button:not([size=mini])中设置的width:184px优先级更高给覆盖了

在这里插入图片描述

情况2:给button设置了size="mini"属性自定义样式的width失效

当设置了size="mini"的属性时,还是被小程序自带默认样式button[size=mini]中设置的width:auto优先级更高给覆盖了
在这里插入图片描述

解决方案

思路:修改我们自己样式的优先级,我看网上很多说是用行内样式style来修改,感觉从项目整体复用以及维护的角度不推荐,更好的是用优先级更高的选择器或者或者important覆盖,总之知道影响因素之后方案有很多

比如:

方案1:通过加个父容器的选择器嵌套提升优先级,如 .parent-container .color-button

在这里插入图片描述

方案2:通过加个标签拼接类名 button.color-button优先级覆盖默认样式

在这里插入图片描述

方案3:通过加important来影响优先级

在这里插入图片描述

总之知道影响因素之后方案有很多,并不局限于上面展示的几种方法,只要提升优先级就可以覆盖默认小程序设置的样式,对于为什么不建议用style而建议多用class,可以参考我另外一篇博文,其中有详细介绍:【CSS】为什么建议多用class而少用style?

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序button按钮的属性设置包括以下几个方面: 1. type属性:用于设置按钮的类型,包括default(默认)、primary(主要)、warn(警告)三种类型。 2. size属性:用于设置按钮的大小,包括default(默认)、mini(迷你)两种大小。 3. plain属性:用于设置按钮是否镂空,即是否为实心按钮。 4. disabled属性:用于设置按钮是否禁用,禁用后按钮将无法点击。 5. loading属性:用于设置按钮是否显示加载状态,即按钮上会显示一个加载图标。 6. form-type属性:用于设置按钮提交表单时的行为,包括submit(提交表单)、reset(重置表单)两种行为。 7. open-type属性:用于设置按钮的开放能力,包括contact(打开客服会话)、share(分享当前页面)、getUserInfo(获取用户信息)、getPhoneNumber(获取用户手机号码)等多种能力。 以上就是微信小程序button按钮的属性设置。 ### 回答2: 微信小程序中,Button按钮) 是用于响应用户交互事件的控件。设置Button属性可以帮助开发者实现设置按钮样式, 显示按钮文字,按钮事件响应等功能。下面详细介绍Button的属性设置: 1. id属性: Button组件的id属性可以用来在js文件内引用该组件。id属性可以任意设置字符串,且不能与同一个界面中的其它Button组件的id值重复。 2. class属性: Button组件的class属性用于设置样式,可设置单个或多个类名,类名之间需要以空格隔开。开发者可以在wxss文件中声明class样式,覆盖掉默认的Button样式。 3. type属性: Button组件的type属性可以设置按钮的样式,有default、primary、warn三种可用属性。默认default属性的背景色为浅灰色,边框颜色为黑色,字体颜色为灰色;primary属性的背景颜色为蓝色,字体颜色为白色;warn属性的背景色为红色,字体颜色为白色。 4. size属性: Button组件size属性设置按钮的大小,有default、mini两种属性。默认default属性是中等大小,mini属性为小尺寸。 5. disabled属性:Button组件的disabled属性设置按钮是否可用。若被设置为true,则按钮不会响应任何事件。 6. hover-class属性:Button组件的hover-class属性设置当按下按钮时添加的样式类。开发者可以在该属性后面接有效的选择器以定位某一类样式。若没有设置hover-class属性,则按钮会有默认的点击效果。 7. hover-stop-propagation属性:Button组件的 hover-stop-propagation 属性为一个的布尔值(true/false)。 如果该属性设置为 true,则阻止 “ touchstart ” 事件冒泡到父级组件。如果该属性设置为 false 或不设置,则停止阻止事件冒泡。 8. hover-start-time属性:Button组件的 hover-start-time 属性为 Number 类型,表示按住后多久开始产生 hover 状态,默认为 20ms。 9. hover-stay-time属性:Button组件的 hover-stay-time 属性为 Number 类型,表示手指松开后 button 状态保持时间,单位ms,默认值立即返回。 总之,在微信小程序中,使用Button组件能快速实现响应用户交互事件的控件。通常我们要设置Button属性包括id、class、type、size、disabled、hover-class、hover-stop-propagation、hover-start-time和hover-stay-time。在使用Button组件时,需要注意设置样式的命名规范和尽量使用样式复用技术。 ### 回答3: 微信小程序是微信官方提供的开发工具,让开发者可以在微信平台上快速开发小程序应用,其中button按钮是常用的组件之一。要想在小程序中使用button按钮,开发者需要设置相关属性,来实现不同的功能和效果。 button按钮的常用属性包括: 1. type:按钮的类型,包括default(默认)、primary(主要)、warn(警告)等,默认值为default。 2. size按钮的尺寸,包括default(默认)、mini(小号)等,默认值为default。 3. plain:按钮是否镂空,即是否有边框,默认为false。 4. disabled:按钮是否禁用,即是否无法响应事件,默认为false。 5. loading:按钮是否显示加载状态,即按钮上出现动画效果,默认为false。 6. form-type:用于提交表单的按钮类型,包括submit(提交表单)、reset(重置表单)等。 7. open-type:用于打开小程序内置页面或者外部网页的按钮类型,包括switchTab(跳转到tabBar页面)、navigateTo(保留当前页面,跳转到应用内的某个页面)、redirectTo(关闭当前页面,跳转到应用内的某个页面)、navigateBack(关闭当前页面,返回上一页面或多级页面)等。 8. hover-class:按钮按下去的样式类,即用户点击按钮时产生的效果。 9. hover-stop-propagation:指定是否阻止事件冒泡。 10. hover-start-time:按钮按下后超过多长时间出现点击状态,单位毫秒。 11. hover-stay-time:按钮点击状态保持时间,单位毫秒。 以上是常用的属性设置,开发者可以根据具体需求自由组合使用,实现各种不同的效果。需要注意的是,button按钮组件的样式也可以通过CSS来自定义,同时,在实际开发中,还需要注意button按钮的UI设计和交互设计,以提升用户体验和操作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值