微信小程序-组件样式隔离

一.isolated

isolated是自定义组件.js的options对象字段styleIsolation的默认值,表示自定义组件和组件使用者之间的样式相互独立,互不影响。
写法:

  options:{
    //isolated默认值,开启样式隔离,使用者和自定义组件的样式相互不影响
    styleIsolation:"isolated"
}

二. apply-shared

apply-shared:组件使用者或者页面能影响自定义组件,但是自定义组件无法影响组件使用者

  options:{
    //apply-shared:组件使用者或者页面能影响自定义组件,但是自定义组件无法影响组件使用者
    styleIsolation:"apply-shared"
}

三.shared

shared:自定义组件和组件使用者的样式相互影响,影响范围涉及到其它使用了share和apply-share的自定义组件

  options:{
    //shared:自定义组件和组件使用者的样式相互影响,影响范围涉及到其它使用了share和apply-share的自定义组件
    styleIsolation:"shared""
}

在使用shared影响到的范围太广,我们可以通过命名空间进行范围限制。
比如在自定义checkbox组件的时候,在wxml文件里定义checkbox

<checkbox class="checkbox" checked="{{isCheck}}" 
bind:tap="update"></checkbox>

在scss文件里给checkbox设置样式的时候,可以使用命名空间就能确定具体组件的样式

.checkbox .wx-checkbox-input{
  width:24rpx !important;
  height: 24rpx !important;
  border-radius: 50% !important;
  border: 1px solid #fda007 !important;
  margin-top: -6rpx;
}

这样的话,在其他自定义组件或者页面使用checkbox就不会受到本次样式影响了

扩展:
关于checkbox的样式有三个固定的class选择器
.wx-checkbox-input:复选框未选中的样式
.wx-checkbox-input-checked:复选框选中的样式
.wx-checkbox-input.wx-checkbox-input-checked:before:复选框选中对号√的样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值