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安全错误 数据库的锁怎样保障安全 开封唯魅网络技术有限公司 金蝶云用什么数据库 风场计算机网络安全 网络技术与应用的就业方向 网络技术实习月报 软件开发要求简历 博雅数据库河北省文科录取位次表 数据库包含字段分隔符 什么是网络安全网络安全定义 女软件开发工程师转行 网络安全上岗证有效期几年 vb实现更新数据库数据 李存龙中国书画人才数据库 东莞卫生系统网络安全 福建人工智能应用服务软件开发 客户端与数据库之间 浙江服务器续保更换云主机 安卓 数据库添加的方法 网络技术有限公司 杭州 ios 我的世界 服务器 网络技术开发自主创新 软件开发员就业前景 美能达文件扫描服务器 规避网络安全问题的方法 世界互联网科技发源地 白云区软件开发咨询 信息网络安全法注销账号 商店数据库管理系统er图 寿险财务系统数据库设计 java软件开发说明