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

原生 CSS 中类似 Sass 的嵌套

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

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

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

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

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

.parent .child {    color: red;}

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

原生 CSS 嵌套

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

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

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

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

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

局限性

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

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

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

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

.parent span {    color: red;}

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

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

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

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

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

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

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

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

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

Reference

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 签约井川里予、何丹彤,单视频点赞近千万,MCN黑马永恒文希快速崛起!

    来源:视听观察永恒文希传媒作为一家MCN公司,说起它的名字来,可能大家会觉得有点儿陌生,但是说出来下面一串的名字之后,或许大家就会感到震惊,原来这么多网红,都签约这家公司了。根
  • Windows 11发布,微软一改往常对老机型开放的态度

    距离 Windows 11 发布已经过去一周,在过去一周里,很多数码爱好者围绕其对 Android 应用的支持、对老机型的升级问题展开了激烈讨论。与以往不同的是,在这次大
Top