>本机CSS嵌套:Web开发人员的游戏规则改变者
键优点:
>概念相似,但本机CSS嵌套具有微妙但重要的区别:
>
>
选择器限制:嵌套的选择器
必须以符号(&,。 ,与Sass不同。 嵌套选择器中的直接HTML元素引用无效。- >
符号用法: anmpersand(&)充当家长选择器的占位符,反映了SASS的功能。 但是,使用
至关重要。省略它可能导致意外行为。
-
&
包装:&
浏览器会自动包装父>,与SASS的输出相比,可能会影响选择器特异性。这可能会导致意外的级联行为。
-
特异性考虑因素:使用:is()
可以改变特异性,可能导致与其他样式的冲突。 仔细考虑特异性在使用本机筑巢时至关重要。>
:is()
- 示例:
:is()
传统的CSS:
>本机嵌套CSS:
>您是否应该放弃CSS预处理器?
.parent1 .child1,
.parent2 .child1 {
color: red;
}
登录后复制
答案是细微的。虽然本地筑巢提供了很大的优势,但CSS预处理器仍然提供有价值的功能,例如:
-
部分汇编:>将多个CSS文件组合到一个,优化的文件中。
- 代码缩小:减少加载时间更快的文件大小。
>- 高级功能:提供嵌套以外的功能,例如变量,混音和功能。
对于较小的项目,本机筑巢可能就足够了。 但是,对于更大,更复杂的项目,CSS预处理程序的好处通常超过本地筑巢的便利性。 SASS团队计划在
>文件中支持本机嵌套,输出代码AS-IS,同时继续像以前一样编译嵌套的SCSS。
.css
结论:
本机CSS嵌套是一个重大进步,简化了CSS并提高了开发人员的生产率。虽然它可能无法完全替代所有项目的CSS预处理器,但它是一个有价值的工具,值得在每个Web开发人员的武器库中占有一席之地。了解其细微差别以及与现有CSS的潜在互动是有效利用其权力的关键。 要深入了解,请咨询W3C CSS嵌套规范。>
常见问题(常见问题解答):
>
(提供的常见问题解答已经写得很好,不需要更改。
以上是本机CSS嵌套的简介的详细内容。更多信息请关注PHP中文网其他相关文章!