Scoped CSSvue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素 。接下来通过本文给大家分享vue组件中的样式属性scoped实例详解
Scoped CSS规范是Web组件产生不污染其他组件,也不被其他组件污染的CSS规范。
vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素 它是通过使用PostCSS来改变以下内容实现的:
hi复制代码
渲染结果:
hi复制代码
混合使用全局属性和局部属性
复制代码
关于子组件的根元素
-
使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,这么设计的目的是父组件可以对子组件根元素进行布局。
-
.vue模板中的样式是根据需要按需加载,访问一个页面该组件中的样式就会追加到head标签中,如果父子组件中都对某个子组件根节点元素进行了控制,则父组件里的样式会被后来的覆盖。
深选择器 如果想对设置了scoped的子组件里的元素进行控制可以使用'>>>'或者'deep'
复制代码
一些预处理程序例如sass不能解析>>>属性,这种情况下可以用deep,它是>>>的别名,工作原理相同。 动态生成的内容 使用v-html动态创建的DOM内容,不受设置scoped的样式影响,但你依然可以使用深选择器进行控制 下面给大家补充下vue中使用v-html加载的富文本,css中定义样式不生效 如题,使用v-html加载一段富文本,富文本里包含图片,在手机上图片宽度可能会溢出
复制代码
注意:这里的>>>需要使用css语法,写在less里会报错
结语
感谢您的观看,如有不足之处,欢迎批评指正。