Crate css_modules
source ·Expand description
The CSS Modules project defines CSS Modules as:
A CSS Module is a CSS file in which all class names and animation names are scoped locally by default.
This implementation is however currently immature and what parsing we do have is very naively implemented. As a result, currently only class names are locally scoped and the following work is in progress:
- Locally scoped animation names
- Inlining
url()
and@import
statements
§Usage
A [Stylesheet
] can be constructed manually:
use css_modules::stylesheet::*;
let css = Stylesheet::new("my_module", ".myStyles {}");
Or if you would prefer to use automatic module naming based on source code, through a macro:
use css_modules::*;
let css = css_module!(".myStyles {}");
The same as above, but from a file relative to the current source file:
use css_modules::*;
let css = include_css_module!("test.css");
Which is the equivelent of doing:
use css_modules::*;
let css = css_module!(include_str!("test.css"));
Modules§
Macros§
- Make a [
Stylesheet
] from a string. - Make a [
Stylesheet
] from a file relative to the current source file.
Functions§
- Generate a css module name based on the location from where it was called.