前端框架之React-----CSS Module

在react开发中会遇到一系列css的相关问题:

1.全局污染:css使用全局选择器的机制来设置样式,样式可能被错误覆盖

2.命名混乱:为了避免全局污染,为了避免样式冲突,容易使命名混乱

3.依赖管理不彻底:组件应该相互独立,引入一个组件应该只引入它所需要的css

4.无法共享变量:复杂组件要使用JavaScript和css共同来处理样式,就会造成有些变量冗余,而预编译语言不能提供跨JavaScript和css共享变量的能力

5.代码压缩不彻底

所以使用css module来解决这些问题。

CSS Modules:

1.启用css modules:


2.样式默认局部:

使用了css Module后就相当于给每个class名外加了:local,以此来实现样式的局部化,如果我们想切换到全局模式,可以使用:global包裹。


3.使用composes来组合样式:

4.class命名技巧:遵从BEM规范:

Block  :对应模块名

Element :对应模块中的节点名

Modifier: 对应节点相关的状态

  1. .site-search{} /* 块 */  
  2. .site-search__field{} /* 元素 */  
  3. .site-search--full{} /* 修饰符 */ 

5.实现css和JavaScript变量共享:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值