css的类名冲突往往发生在大型项目中。
1、大型项目往往会使用构建工具搭建工程。
2、构建工具允许将css样式切分为更加精细的模块。
同JS的变量一样,每个css模块文件中难以出现冲突的类名。
3、冲突的类名往往发生在不同的css模块文件中,只需要保证构建工具在合并样式代码后不会出现类名冲突即可。
实现原理
在webpack中,作为处理css的css-loader,它实现了css module的思想,要启用css module,需要将css-loader的配置modules设置为true。
css-loader的实现方式如下:
原理极其简单,开启了css module后,css-loader会将样式中的类名进行转换,转换为一个唯一的hash值。
由于hash值是根据模块路径和类名生成的,因此,不同的css模块,哪怕具有相同的类名,转换后的hash值也不一样。
以上就是css module解决命名冲突的方法,希望对大家有所帮助。更多css学习指路:css教程
本文教程操作环境:windows7系统、css3版,DELL G3电脑。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试