当前位置:首页 > Web开发 > 正文

又要实现样式模块化

2024-03-31 Web开发

当一个style标签拥有scoped属性时,它的CSS样式就只能感化于当前的组件,也就是说,该样式只能适用于当前组件元素。

通过该属性,,可使组件之间的样式不互相污染。如果一个项目中的所有style标签全部加上了scoped,相当于实现了样式的模块化。

实现道理

实现道理是给dom添加了一个并世无双的动态属性data-v-xxxxxxxx

而在对应css选择器后特别添加了一个对应属性选择器来选择

.example[data-v-xxxxxxxx] {  }

穿透scoped

在引用第三方组件时,在项目开发过程中要改削第三方组件的样式,又要实现样式模块化,需要通过穿透

<style scoped> 外层 >>> 第三方组件 { 样式 } </style>

在sass和less的穿透使用/deep/

<style scoped> 外层 /deep/ 第三方组件 { 样式 } </style>

这种情况还有一种解决方案是界说一个vue没有scoped,其内的样式就适用全局

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31982.html