0

0

如何设置css作用域

醉折花枝作酒筹

醉折花枝作酒筹

发布时间:2021-07-23 10:06:37

|

5090人浏览过

|

来源于php中文网

原创

在css中,可以使用scoped属性来设置作用域;当style标签有scoped属性时,它的CSS只作用于当前组件中的元素。不过一个子组件的根节点会同时受到其父作用域的CSS和子组件有作用域的CSS的影响。

如何设置css作用域

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

初接触Vue单文件,对style标签里的scoped属性难免有一点困惑,毕竟之前没有用到过,下面是关于scoped的一些讲解。

一个标准的.vue文件是这样的:

// html内容区域


//相关数据及事件区域,通俗说就是我们写JS代码的地方


// CSS样式区域

可以看到在style标签里面有一个scoped属性,当style标签有scoped属性时,它的CSS只作用于当前组件中的元素。这类似于shadow DOM中的样式封装。它有一些注意事项,但不需要任何的Profill。它通过使用PostCSS来实现以下转换:

立即学习前端免费学习笔记(深入)”;



转换结果:



混用本地和全局样式

有一点值得注意一下,在一个组件中可以同时使用有作用域和无作用域的样式:



子元素样式是子元素的根元素和子组件内CSS共同作用的结果

使用scoped后,父作用域的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受到其父作用域的CSS和子组件有作用域的CSS的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式,示例如下:

子组件



父组件