#css #css-class #module #style-sheet #scoped-css #style #macro

css-modules

方便的宏实现 CSS Modules

5 个版本 (有破坏性)

0.5.2 2019年12月18日
0.5.1 2019年4月22日
0.4.1 2019年12月18日
0.4.0 2018年11月29日

#488过程宏

Download history 6/week @ 2024-03-31 51/week @ 2024-06-23

每月 51 次下载

MIT 许可证

32KB
832

CSS Modules

Build Status Latest Version Documentation Minimum rustc version License:MIT lines of code

CSS Modules 项目中,CSS Modules 被定义为

CSS Module 是一个 CSS 文件,其中所有类名和动画名默认都是局部作用域。

然而,当前实现尚不成熟,据我所知,尚未在实际情况下使用。目前只有动画和类名是局部作用域,以下工作正在进行中

  • 内联 url()@import 语句
  • 创建或与资产编译工具(Rollup、Webpack 等)集成

使用

将此crate添加为构建依赖项和常规依赖项

[dependencies]
css-modules = "0.5"

[build-dependencies]
css-modules = "0.5"

在项目的根目录中创建一个构建脚本(build.rs

use css_modules::CssModules;

fn main() {
    let mut css_modules = CssModules::default();

    // Include all CSS files in the src dir:
    css_modules.add_modules("src/**/*.css").unwrap();

    // Compile all modules and export CSS into one file:
    css_modules.compile("public/app.css");
}

然后最终,您可以包含 CSS 模块

use css_modules::include_css_module;

let css = include_css_module!("test.css"); // relative path to your CSS
let myClass = css["original-class-name"]; // aliased class name

有关更详细的示例,请参阅 examples/ 目录。

依赖关系

~4MB
~88K SLoC