iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >css modules指的是什么意思
  • 449
分享到

css modules指的是什么意思

2024-04-02 19:04:59 449人浏览 八月长安
摘要

这篇文章主要介绍CSS modules指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 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的类名来控制它的样式:

<h2 class="title">An example heading</h2>

CSS样式像下面这样:

.title {
  background-color: red;
}

只要把CSS文件加载到HTML文件中,这里的<h2>标签背景就会被设置成红色。我们不需要对HTML或CSS做什么特殊的处理,浏览器本来就支持这种最基本的文件类型。

而CSS Modules的使用方式就不一样了,我们需要把所有的标签写到js文件里。下面是一个简单的示例:

import styles from "./styles.css";

element.innerHTML = 
  `<h2 class="${styles.title}">
     An example heading
   </h2>`;

在JS中你可以通过类似styles.title的方式访问CSS文件中的.title类。然后在构建过程中,我们的构建工具会搜索我们用import语句载入的名为styles.css的文件,之后把源文件解析成新的HTML和CSS文件,类名会被特定的格式替换:

HTML

<h2 class="_styles__title_309571057">
  An example heading
</h2>

CSS

._styles__title_309571057 {
  background-color: red;
}

css modules指的是什么意思

类属型的.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.innerHTML = `<div class="${buttons.red} ${padding.large}">`;

通过这样的方式可以解决CSS全局作用域的问题。

你一定经历过着急着赶工想要尽快写完CSS,而根本没有考虑过你的代码会造成什么不良影响吧。

你也一定干过在某个样式文件的结尾加上随意命名的乱七八糟的样式之类吧。

你肯定也见过那些你不知道有什么效果,甚至到底有没有被使用的样式吧。

你难道不想安全地写出不影响其他样式的CSS么?担心样式是独立或者依赖别的什么东西么?或者可能会覆盖别的地方的样式?

诸如此类的问题都足够让人头疼了。而且随着项目的扩张,会越来越令人绝望。

但使用CSS Modules就可以避免这些问题。除非你在某个模块中载入一个CSS样式,其他情况下这个样式都不会影响别的HTML.

以上是“css modules指的是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: css modules指的是什么意思

本文链接: https://www.lsjlt.com/news/86891.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css modules指的是什么意思
    这篇文章主要介绍css modules指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! css modules指的是所有的类名和动画名称默认都...
    99+
    2024-04-02
  • css reset指的是什么意思
    这篇文章主要介绍css reset指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css的选择器有哪些css的选择器可以分为三大类,即id选择器、class选择器、标签选择器。它们之间可以有多种组合,有后...
    99+
    2023-06-15
  • css中tr指的是什么意思
    小编给大家分享一下css中tr指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在css...
    99+
    2024-04-02
  • css中span指的是什么意思
    这篇文章将为大家详细讲解有关css中span指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使...
    99+
    2023-06-14
  • css英文指的是什么意思
    这篇文章将为大家详细讲解有关css英文指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 css英文全称是Cascading Sty...
    99+
    2024-04-02
  • css中inline指的是什么意思
    这篇文章给大家分享的是有关css中inline指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css中inline是什么意思在css中,inline属性值与displ...
    99+
    2024-04-02
  • css中less指的是什么意思
    小编给大家分享一下css中less指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在c...
    99+
    2024-04-02
  • css中url指的是什么意思?
    这篇文章主要介绍了css中url指的是什么意思?,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   CSS是层叠样式表(英文全称:Casc...
    99+
    2024-04-02
  • CSS中hack指的是什么意思
    这篇文章主要为大家展示了“CSS中hack指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中hack指的是什么意思”这篇文章吧。   hac...
    99+
    2024-04-02
  • css中keyframes指的是什么意思
    这篇“css中keyframes指的是什么意思”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“css中keyframes指的是什么意思”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇...
    99+
    2023-06-06
  • css中bfc指的是什么意思
    这篇文章主要介绍css中bfc指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在css中,bfc中文意思为“块级格式化上下文”,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔...
    99+
    2023-06-15
  • css中margin指的是什么意思
    这篇文章给大家分享的是有关css中margin指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css中margin是一个简写属性,该属性在一个声明中可以设置所有外边距属性;这个简写属性设置一个元素所有...
    99+
    2023-06-15
  • css中collapse指的是什么意思
    这篇文章将为大家详细讲解有关css中collapse指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 css中collapse的意...
    99+
    2024-04-02
  • float在css指的是什么意思
    这篇文章将为大家详细讲解有关float在css指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在css中float的意思是“浮动...
    99+
    2024-04-02
  • css继承指的是什么意思
    这篇文章将为大家详细讲解有关css继承指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。继承是一种规则,它允许样式不仅应用于某个特定html标签元素,还可应用于其后代元素。CSS继承是指设置父级...
    99+
    2023-06-14
  • css 中important指的是什么意思
    这篇文章主要介绍了css 中important指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css中important是用于提高指定样式规则的应用优先权的一种语...
    99+
    2023-06-14
  • css中auto指的是什么意思
    这篇文章主要介绍了css中auto指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css的全称是什么css的全称是Cascading Style Sheets(层...
    99+
    2023-06-14
  • CSS中overflow指的是什么意思
    这篇文章主要为大家展示了“CSS中overflow指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中overflow指的是什么意思”这篇文章吧...
    99+
    2024-04-02
  • css中repeat指的是什么意思
    这篇文章主要介绍了css中repeat指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在css中,...
    99+
    2024-04-02
  • css中div指的是什么意思
    这篇“css中div指的是什么意思”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css中div指的是什么意思”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作