zoukankan      html  css  js  c++  java
  • CSS Module

    一、全局样式冲突

    过程是这样的:你现在有两个模块,分别为A、B,你可能会单独针对这两个模块编写自己的样式,例如a.css、b.css,看一下代码

    // A.js

    import './a.css'

    const html = '<h1 class="text">module A</h1>'

    // B.js

    import './b.css'

    const html = '<h1 class="text">module B</h1>'

    下面是样式:

    /* a.css */

    .text { color: red; }

    /* b.css */

    .text { color: blue; }

    由于样式是统一加载到入口中,因此实际上的样式合在一起显示顺序为:

    /* a.css */

    .text { color: red; }

    /* b.css */

    .text { color: blue; }

    知道了问题,接下来我们看看该如何解决。

    二、基本使用

    首先在webpack上进行配置启用CSS Modules:

    {

      test: /.css$/,

      loaders: [

        'style-loader',

         'css-loader?modules'

      ]

    }

    接着创建一个modules.css的文件,内容为:

    .color { color: red; }

    接下来使用这个样式,在index.js中:

    // 整体引入 import modules from './modules.css'

    // 按需引入 import { color } from './modules.css'

    不同引入方式的使用方式如下:

    <p className={modules.color}>这是整体引入的红色文字</p>

    <p className={color}>这是通过按需引入红色文字</p>

     

     

     

     

     

     

  • 相关阅读:
    2020.06.09——习题训练五
    2020.06.01——习题训练4
    2020-05-26 — 习题训练三
    2020-05-22 — 习题训练二-F
    Java笔记(22):IO流(04)
    Java笔记(21):IO流(03)
    Java笔记(20):IO流(02)
    Java笔记(19):IO流(01)
    Java笔记(18):集合框架(04)
    Java笔记(17):集合框架(03)
  • 原文地址:https://www.cnblogs.com/embrace-ly/p/11127448.html
Copyright © 2011-2022 走看看