vue组件中的样式属性scoped实例
2018-11-15 17:53
609 查看
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 https://blog.csdn.net/qq_43168841/article/details/84108414
vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素 。接下来通过本文给大家分享vue组件中的样式属性scoped实例详解
Scoped CSS
Scoped CSS规范是Web组件产生不污染其他组件,也不被其他组件污染的CSS规范。
vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素
它是通过使用PostCSS来改变以下内容实现的:
<style scoped> .example { color: red; } </style> <template> <div class="example">hi</div> </template>
渲染结果:
<style> .example[data-v-f3f3eg9] { color: red; } </style> <template> <div class="example" data-v-f3f3eg9>hi</div> </template>
混合使用全局属性和局部属性
<style> /* global styles */ </style> <style scoped> /* local styles */ </style>
关于子组件的根元素
-
使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,这么设计的目的是父组件可以对子组件根元素进行布局。
-
.vue模板中的样式是根据需要按需加载,访问一个页面该组件中的样式就会追加到head标签中,如果父子组件中都对某个子组件根节点元素进行了控制,则父组件里的样式会被后来的覆盖。
深选择器
如果想对设置了scoped的子组件里的元素进行控制可以使用’>>>‘或者’deep’
<template> <div id="app"> <gHeader></gHeader> </div> </template> <style lang="css" scoped> .gHeader /deep/ .name{ //第一种写法 color:red; } .gHeader >>> .name{ //二种写法 color:red; //欢迎加入全栈开发交流圈一起学习交流:864305860 //面向1-3年前端人员 //帮助突破技术瓶颈,提升思维能力 } </style> <div class="gHeader"> <div class="name"></div> </div>
一些预处理程序例如sass不能解析>>>属性,这种情况下可以用deep,它是>>>的别名,工作原理相同。
动态生成的内容
使用v-html动态创建的DOM内容,不受设置scoped的样式影响,但你依然可以使用深选择器进行控制
下面给大家补充下vue中使用v-html加载的富文本,css中定义样式不生效
如题,使用v-html加载一段富文本,富文本里包含图片,在手机上图片宽度可能会溢出
<div v-html="htmlContent" class="rich"></div> <style scope> .rich>>> img{ display:block; max-width: 100%} </style>
注意:这里的>>>需要使用css语法,写在less里会报错
结语
感谢您的观看,如有不足之处,欢迎批评指正。
阅读更多相关文章推荐
- vue组件中的样式属性--scoped
- vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题
- vue组件watch属性实例讲解
- Vue条件循环判断+计算属性+绑定样式v-bind的实例
- 在Vue.js中,在scoped模式下如何修改子组件内部标签的样式
- Vue系列: 如何通过组件的属性props设置样式
- 在Vue.js中,在scoped模式下如何修改子组件内部标签的样式
- Vue组件中prop属性使用说明实例代码详解
- Vue框架-基础知识(vue指令、实例生命周期、计算属性与监听属性、插槽理解、组件介绍、数据交互、ES6语法等)
- Vue系列: 如何通过组件的属性props设置样式
- vue开发中,父组件添加scoped之后。解决在父组件中无法修改子组件样式问题。
- Vue自定义toast组件的实例代码
- JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
- 关于ES6类的实例属性及在React组件中的应用
- Vue组件实例间的直接访问
- vue项目修改组件默认样式
- vue.js表格组件开发的实例详解
- 在vue组件的stylus样式总 取消search类型的input按钮中默认样式
- vue.js单文件组件中非父子组件的传值实例