CSSModules入门

局部作用域

CSS的规则都是作用于全局的,任何一个组件的样式都是对整个页面起作用的。产生局部作用域的方法就是为每一个样式生成唯一名称,而这也是CSSModules的做法。

import React from 'react';
import styles from './styles.css';

export default const App = (props) => (<div className={styles.title}>welcome {props.name}!</div>)

然后编译工具将class编译产生唯一的标识。

<div class="_3zyde4l1yATCOkgn-DBWEL">welcome React!</div>
// styles.css
._3zyde4l1yATCOkgn-DBWEL {
  color: red;
}
对插件对支持

CSSModules提供各种插件支持。如对webpackcss-loader的插件只需要在options配置modules: true即可。

全局作用域

CSSModules支持使用:global(.className)的语法声明一个全局规则。

:global(.title) {
  color: green;
}
calss组合

一个选择器继承另一个选择器的规则,为组合(composition)。

.parent {
  background-color: red;
}
.title {
  compose: .parent;
  color: green;
}

选择器也可以继承其他文件的css规则。

/* other.css */
.parent {
  background-color: red;
}
.title {
  compose: .parent from './other.css';
  color: green;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值