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

一.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:复选框选中对号√的样式

相关推荐
蓉妹妹12 小时前
React+Taro 微信小程序做一个页面,背景图需贴手机屏幕最上边覆盖展示
react.js·微信小程序·taro
java1234_小锋15 小时前
[免费]微信小程序宠物医院管理系统(uni-app+SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
spring boot·微信小程序·宠物医院·小程序宠物医院·springboot宠物医院
ljbaofu_CSDN15 小时前
微信小程序开发中,请求数据列表,第一次请求10条,滑动到最低自动再请求10条,后面请求的10条怎么加到第一次请求的10条后面?
微信小程序·小程序
时间识人15 小时前
【无标题】
vue.js·微信小程序·taro
百锦再15 小时前
微信小程序学习基础:从入门到精通
前端·vue.js·python·学习·微信小程序·小程序·pdf
温酒斟与你15 小时前
UniApp+Vue3微信小程序二维码生成、转图片、截图保存整页
微信小程序·uni-app·vue
Bald Baby16 小时前
uniapp实现H5、APP、微信小程序播放.m3u8监控视频
微信小程序·小程序·uni-app·音视频·视频
-25℃16 小时前
记一次奇葩的错误,uniapp @tap点击失效
微信小程序·uni-app
speedoooo19 小时前
App Builder技术选型指南:从AI编程到小程序容器,外卖App开发实战
前端·小程序·前端框架·ai编程·web app
布Coder19 小时前
重写B站(网页、后端、小程序)
小程序