css modules指的是什么意思
这篇文章主要介绍css modules指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
css modules指的是所有的类名和动画名称默认都有各自作用域的CSS文件,是在构建步骤中对CSS类名和选择器限定作用域的一种方式(类似于命名空间)。通过CSS Modules可以保证单个组件的所有样式集中在同一个地方、只应用于该组件。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
什么是CSS Modules?
根据CSS Modules在Gihub上的项目,它被解释为:
所有的类名和动画名称默认都有各自的作用域的CSS文件。
所以CSS Modules既不是官方标准,也不是浏览器的特性,而是在构建步骤(例如使用Webpack或Browserify)中对CSS类名和选择器限定作用域的一种方式(类似于命名空间)。
我们还是先看一个具体的例子来解释清楚它到底是什么,以及为什么要使用CSS Modules吧。我们通常给HTML加一个CSS的类名来控制它的样式:
An example heading
CSS样式像下面这样:
.title { background-color: red;}只要把CSS文件加载到HTML文件中,这里的
标签背景就会被设置成红色。我们不需要对HTML或CSS做什么特殊的处理,浏览器本来就支持这种最基本的文件类型。
而CSS Modules的使用方式就不一样了,我们需要把所有的标签写到JS文件里。下面是一个简单的示例:
import styles from "./styles.css";element[xss_clean] = `An example heading
`;
在JS中你可以通过类似styles.title的方式访问CSS文件中的.title类。然后在构建过程中,我们的构建工具会搜索我们用import语句载入的名为styles.css的文件,之后把源文件解析成新的HTML和CSS文件,类名会被特定的格式替换:
HTML
An example heading
CSS
._styles__title_309571057 { background-color: red;}类属型的.title完全被新生成的命名替换掉了,CSS的源文件也不会被载入。
在使用CSS模块时,类名是动态生成的,唯一的,并准确对应到源文件中的各个类的样式。
这也是实现样式作用域的原理。它们被限定在特定的模板里。例如我们在buttons.js里引入buttons.css文件,并使用.btn的样式,在其他诸如forms.js里是不会被.btn影响的,除非它也引入了buttons.css.
可我们是出于什么目的把CSS和HTML文件搞得这么零碎呢?我们为什么要使用CSS模块呢?
为什么要使用CSS Modules?
通过CSS Modules,我们可以保证单个组件的所有样式:
集中在同一个地方
只应用于该组件
另外,
import buttons from "./buttons.css";import padding from "./padding.css";element[xss_clean] = `样式 文件 类名 作用 方式 组件 影响 地方 模块 源文件 问题 意思 内容 动画 单个 名称 是在 标签 步骤 浏览器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 域名解析服务器有什么不同吗 企业联系方式数据库 潮州市网络安全平台 重庆维普数据库中刊 沈阳软件开发app 服务器logo材质 上海现代化网络技术专业服务 金仓数据库客户端登录 信多多北京网络技术有限公司 网络安全教师讲稿 菏泽涂敲网络技术有限公司 公安深入校园网络安全宣传 搜索网络安全的作文 优存互联网科技 称重软件开发公司 软件是如何绑定服务器的 苹果激活老是无法连接服务器 视易网关服务器 手机上如何制作连接数据库 qt数据库复制 傲绝网络技术 天津rust服务器托管 csgo如何更改服务器地区 hana数据库 特效软件开发语言 卫生健康系统网络安全保障分析 每个数据库可以存储多少个数据表 陕西广电网络技术参数 分布式网络技术的发展前景 什么网络技术赚钱快