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

原生 CSS 中类似 Sass 的嵌套

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

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

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

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

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

.parent .child {    color: red;}

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

原生 CSS 嵌套

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

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

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

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

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

局限性

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

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

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

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

.parent span {    color: red;}

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

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

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

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

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

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

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

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

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

Reference

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
Top