We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当一个<style>标签有scoped属性时,它的CSS只作用于当前组件的元素。这和Shadow DOM的样式封装是一样的。它有一些警告(caveats),但是不需要任何填充(polyfill)。是通过PostCSS实现转换的:
<style>
<style scoped> .example { color: red; } </style> <template> <div class="example">hi</div> </template>
转化成下面的:
<style> // 选择有data-v-f3f3eg9属性,并且class名为example的元素 .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 styles上的选择器变得"deep",例如:影响子组件,可以使用>>>连接符。
>>>
<style scoped> .a >>> .b {/*...*/} </style>
上面的代码会编译成:.a[data-v-f3f3eg9] .b {/* ... */}
.a[data-v-f3f3eg9] .b {/* ... */}
一些预处理器,例如Sass,不能解析>>>属性。这些情况下,你使用/deep/或::v-deep连接符可以取代,这两个操作符是>>>等效的。
为什么用p会慢很多?
因为如果是元素选择器,无论是局部还是全局,浏览器需要在所有元素上搜索,几乎是从头到尾去解析,这个过程是耗性能的。而如果是类选择器或者是id选择器,只要从选择器列表中去找到即可,性能更好。
参考资料:https://vue-loader.vuejs.org/guide/scoped-css.html#mixing-local-and-global-styles
The text was updated successfully, but these errors were encountered:
No branches or pull requests
当一个
<style>
标签有scoped属性时,它的CSS只作用于当前组件的元素。这和Shadow DOM的样式封装是一样的。它有一些警告(caveats),但是不需要任何填充(polyfill)。是通过PostCSS实现转换的:转化成下面的:
混入本地和全局的样式(Mixing Local and Global Styles)
同一个组件里,可以同时包含本地样式和全局样式。
子组件根元素
深度选择器
如果你想让在scoped styles上的选择器变得"deep",例如:影响子组件,可以使用
>>>
连接符。上面的代码会编译成:
.a[data-v-f3f3eg9] .b {/* ... */}
一些预处理器,例如Sass,不能解析>>>属性。这些情况下,你使用/deep/或::v-deep连接符可以取代,这两个操作符是>>>等效的。
动态生成内容
时刻提醒自己
为什么用p会慢很多?
因为如果是元素选择器,无论是局部还是全局,浏览器需要在所有元素上搜索,几乎是从头到尾去解析,这个过程是耗性能的。而如果是类选择器或者是id选择器,只要从选择器列表中去找到即可,性能更好。
参考资料:https://vue-loader.vuejs.org/guide/scoped-css.html#mixing-local-and-global-styles
The text was updated successfully, but these errors were encountered: