当前位置:首页 > 科技  > 软件

原生 CSS 中类似 Sass 的嵌套

来源: 责编: 时间:2023-12-13 17:01:54 315观看
导读如果你和我一样觉得 Sass 的 CSS 嵌套功能非常有用,那么你一定会很高兴地知道,我们的好日子就要来了。因此,如果你不知道,Sass 的 CSS 嵌套功能允许您将 CSS 选择器嵌套在其他选择器中。例如,你可以这样写:.parent { .ch

如果你和我一样觉得 Sass 的 CSS 嵌套功能非常有用,那么你一定会很高兴地知道,我们的好日子就要来了。ahC28资讯网——每日最新资讯28at.com

因此,如果你不知道,Sass 的 CSS 嵌套功能允许您将 CSS 选择器嵌套在其他选择器中。例如,你可以这样写:ahC28资讯网——每日最新资讯28at.com

.parent {    .child {        color: red;    }}

这将被编译成以下 CSS。ahC28资讯网——每日最新资讯28at.com

.parent .child {    color: red;}

当你想为某一特定元素编写 CSS 时,如果该元素是另一元素的子元素,这就非常有用了。你不必反复编写父选择器。只需将子选择器嵌套在父选择器中就可以了。ahC28资讯网——每日最新资讯28at.com

原生 CSS 嵌套

现在,原生 CSS 也出现了类似的功能。CSS 嵌套模块[1]现已在 Safari 技术预览版 162 和 Chrome Dev 中附带(通过在浏览器中启用“Experimental Web Platform features(实验性 Web 平台功能)”标志)。ahC28资讯网——每日最新资讯28at.com

启用后,你可以像这样在原生 CSS 中编写上述类似 Sass 的代码。ahC28资讯网——每日最新资讯28at.com

.parent {    .child {        color: red;    }    #childWithId {        color: red;    }}

很整洁,对吧?ahC28资讯网——每日最新资讯28at.com

但也有一些注意事项。ahC28资讯网——每日最新资讯28at.com

局限性

要使用 CSS 嵌套,你必须嵌套仅以以下符号开头的选择器:.、:、[、>、+、~、#、*。这是因为浏览器解析 CSS 的方式。如果你嵌套的选择器不以上述任何符号(例如 p、span、`div`` 等)开头,则嵌套将被忽略。ahC28资讯网——每日最新资讯28at.com

为了解决这个问题,你可以在子选择器前面添加 & ,如下所示。ahC28资讯网——每日最新资讯28at.com

.parent {    & span {        color: red;    }}

上面的代码将被编译成下面的CSS。ahC28资讯网——每日最新资讯28at.com

.parent span {    color: red;}

这也适用于如下场景。ahC28资讯网——每日最新资讯28at.com

ul {  padding-left: 1em;}.component ul {  padding-left: 0;}

可以看出,这里的 ul 选择器并没有嵌套在 .component 选择器中。ahC28资讯网——每日最新资讯28at.com

要使 ul 选择器嵌套在 .component 选择器内,您可以将 & 附加到 .component 选择器,如下所示。ahC28资讯网——每日最新资讯28at.com

ul {  padding-left: 1em;  .component & {    padding-left: 0;  } }

差不多就是这样了!ahC28资讯网——每日最新资讯28at.com

由于 CSS Nesting Module 仍处于草案阶段,因此不建议在生产中使用它。但很高兴知道,一旦该功能足够成熟,它就会出现在原生 CSS 中。ahC28资讯网——每日最新资讯28at.com

在此之前,您可以在支持的浏览器之一中对其进行测试,并在 bugs.webkit.org[2] 或 bugs.chromium.org[3] 上提交你的反馈或问题。ahC28资讯网——每日最新资讯28at.com

图片图片ahC28资讯网——每日最新资讯28at.com

Reference

[1]CSS 嵌套模块:https://drafts.csswg.org/css-nesting-1/ahC28资讯网——每日最新资讯28at.com

[2]bugs.webkit.org:http://bugs.webkit.org/ahC28资讯网——每日最新资讯28at.com

[3]bugs.chromium.org:https://bugs.chromium.org/p/chromium/issues/listahC28资讯网——每日最新资讯28at.com

ahC28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-44393-0.html原生 CSS 中类似 Sass 的嵌套

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 系统架构达人亲授:多电商活动从容应对的顶级秘籍!

下一篇: Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • 如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • 疑似小米14外观设计图曝光:后置相机模组变化不大

    下半年的大幕已经开启,而谁将成为下半年手机圈的主角就成为了大家关注的焦点,其中被传有望拿下新一代骁龙8 Gen3旗舰芯片的小米14系列更是备受大家瞩
  • 华为Mate 60系列用上可变灵动岛:正式版体验将会更出色

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
Top