CSS Modules:局部作用域 & 模块化
CSS Modules 为每一个局部类赋予全局唯一的类名,这样组件样式间就不会相互影响了。如:
它会被转换为类似这样:
当导入一个 CSS 模块文件时,它会将局部类名到全局类名的映射对象提供给我们。就像这样:
'CSS Modules:局部作用域 & 模块化
CSS Modules 为每一个局部类赋予全局唯一的类名,这样组件样式间就不会相互影响了。如:
它会被转换为类似这样:
当导入一个 CSS 模块文件时,它会将局部类名到全局类名的映射对象提供给我们。就像这样:
'下面是一个使用了 CSS Modules 的按钮组件:
的确,CSS Modules 对于 Vue 组件是一个不错的选择。但也存在以下几点不足:
对于上面的按钮组件,使用 vue-css-modules 后:
现在:
@button
这等同于:
这让你能在外部重置组件的样式:
$type
这等同于:
:mini
这等同于:
这等同于:
在 Vue 模板中使用
引入模板外部的 CSS 模块
使用模板内部的 CSS 模块
在 Vue JSX 中使用
在 Vue 渲染函数中使用
export default {
mixins: [CSSModules(styles)],render(h) {
return h('button',{
styleName: '@button :mini'
},'点我')
}
}
以上所述是小编给大家介绍的Vue 中使用 CSS Modules优雅方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/vue/32831.html