微信小程序如何修改第三方组件样式 例如 vant-weapp样式修改

解除样式隔离

1、在组件内部options属性中定义styleIsolation: 'isolated'

Component({
  onLoad(){},
  options: {
    styleIsolation: 'isolated'
  }
})

app.wxss 或页面的 wxss 中使用了标签名选择器(或一些其他特殊选择器)来直接指定样式,这些选择器会影响到页面和全部组件。通常情况下这是不推荐的做法。

指定特殊的样式隔离选项 styleIsolation 。
官方地址

2、也可以在页面或自定义组件的 json 文件中配置 styleIsolation (这样就不需在 js 文件的 options 中再配置)main.json

{
  "styleIsolation": "isolated"
}

注意:如果使用的不是vant-weapp 需要在组件中开放全局定义类控制样式 vant-weapp默认开启了权限

/* 组件 custom-component.js */
Component({
  onLoad(){},
  options: {
    addGlobalClass: true,
  }
})
外部样式类定义

3、使用外部样式类定义,尽量不要定义普通样式类 ,无优先级区分

/* 组件 custom-component.js */
Component({
  onLoad(){},
  externalClasses: ['my-class']
})
<!-- 页面的 WXML -->
<custom-component my-class="red-text" />
<custom-component my-class="large-text" />
<!-- 以下写法需要基础库版本 2.7.1 以上 -->
<custom-component my-class="red-text large-text" />
.red-text {
  color: red;
}
.large-text {
  font-size: 1.5em;
}

4、组件样式定义,在页面中使用 Vant Weapp 组件时,可直接在页面的样式文件中覆盖样式
vant-weapp文档

<van-button type="primary">主要按钮</van-button>
/* page.wxss */
.van-button--primary {
  font-size: 20px;
  background-color: pink;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章