@layer 简介:
- 声明级联层时,越靠后优先级越高。
- 不属于任何级联层的样式,将自成一层匿名级联层,并置于所有层之后 —— 级别最高。
用法一:在同一文件中
@layer base, special;
@layer special {/* 优先 */li { color: red; }
}
@layer base {div>ul>li { color: green; }
}
用法二:为文件声明优先级,
@import "base.css" layer(base);
@import "special.css" layer(special); /* 优先 */
用法三:嵌套级联层
@layer framework {li {color: red; /* 优先 */}@layer layout {div>ul>li {color: green;}}
}
其中被嵌套的子级联层可以通过 .
来访问,所以上面代码也可以写成下面这样:
@layer framework {@layer layout {}
}
@layer framework {li {color: red; /* 优先 */}
}
@layer framework.layout {div>ul>li {color: green;}
}
小案例
@layer base, special;@layer special {p {color: red;}
}
@layer base {p#id {color: green;}
}