美文网首页
CSS Modules

CSS Modules

作者: jeneen1129 | 来源:发表于2020-09-15 14:15 被阅读0次

    调研:
    http://www.ruanyifeng.com/blog/2016/06/css_modules.html
    https://www.cnblogs.com/ypppt/p/12887613.html
    https://www.cnblogs.com/hss-blog/p/9639360.html

    为什么?

    主要是CSS不是编程语言的问题,只是一种网页样式的描述方法,

    为了给CSS编写的时候有软件工程的办法,从less\sass->postcss->css in js都是为了解决这个问题。

    LESS 、SASS:
    是程序式CSS预处理语言。
    具体使用看官网。
    https://less.bootcss.com/
    https://www.sass.hk/
    https://stylus.bootcss.com/
    postcss: 是一个平台,允许强大的插件在它上面跑,简化编程。PostCSS实际上改变了一种编程模式
    它提供了一个解析器,可以将CSS解析成抽象语法树
    通过PostCSS这个平台,我们能够开发一些插件,来处理CSS。热门插件如autoprefixer。
    可以通过跑插件的形式实现与less\sass相似的效果。
    安装
    npm install -g postcss-cli //全局安装postcss npm install -g autoprefixer //全局安装autoprefixer

    CSS Modules不是将CSS改成编程语言,而只是加入了局部作用域和模块依赖,这是网页组件急需的功能。

    定义:

    它是一种构建步骤中的一个进程。(构建通常需要 webpack 或者 browserify 的帮助)

    css modules优势

    • 解决全局命名冲突问题 css modules只关心组件本身 命名唯一
    • 模块化 可以使用composes来引入自身模块中的样式以及另一个模块的样式
    • 解决嵌套层次过深的问题 使用扁平化的类名
    • 共享变量

    HOW?

    webpack.conf.js配置如下:


    webpack.conf.js

    1.局部作用域(local scope)和全局作用域(global scope)


    scope
    2.定制哈希类名
    哈希类名

    3.模块化composes


    composes1
    composes2

    4.输入变量
    下载:

    npm install --save postcss-loader postcss-modules-values
    

    webpack.conf.js配置如下:


    webpack.conf.js

    使用:


    输入变量

    以上仅供学习,侵权请联系删除。

    相关文章

      网友评论

          本文标题:CSS Modules

          本文链接:https://www.haomeiwen.com/subject/hmhfyktx.html