返回顶部
首页 > 资讯 > 精选 >CSS原生嵌套语法怎么使用
  • 804
分享到

CSS原生嵌套语法怎么使用

2023-07-05 02:07:25 804人浏览 八月长安
摘要

本文小编为大家详细介绍“CSS原生嵌套语法怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS原生嵌套语法怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基本概念所谓的嵌套,就是将一个 CSS 规

本文小编为大家详细介绍“CSS原生嵌套语法怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS原生嵌套语法怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

基本概念

所谓的嵌套,就是将一个 CSS 规则放在另一个(嵌套规则)中,子规则的选择器将相对于父规则的选择器。这有利于代码的模块化和可维护性。原来只能在 CSS 预处理器中使用的嵌套功能,先在可以在原生 CSS 中使用。

其实,CSS 嵌套和 Sass 的嵌套类似,比如,对于以下 CSS 样式:

table.colortable td {
 text-align:center;
}

table.colortable td.c {
 text-transfORM:uppercase;
}

table.colortable td:first-child, table.colortable td:first-child+td {
 border:1px solid black;
}

table.colortable th {
 text-align:center;
 background:black;
 color:white;
}

如果使用 CSS 嵌套时,就是这样的:

table.colortable {  & td {    text-align:center;    &.c { text-transform:uppercase }    &:first-child, &:first-child + td { border:1px solid black }  }  & th {    text-align:center;    background:black;    color:white;  }}

可以看到,使用嵌套不仅消除重复,相关规则的分组还提高了生成的 CSS 的可读性和可维护性。

嵌套规则

嵌套规则可以使用嵌套选择器(&) 直接引用父规则的匹配元素,或者使用相对选择器语法指定“后代”以外的关系。

.foo {  color: red;  &:hover {    color: blue;  }}.foo { color: red; }.foo:hover { color: blue; }
.foo {  color: red;  + .bar {    color: blue;  }}.foo { color: red; }.foo + .bar { color: blue; }

但是,以标识符(类型选择器)开始嵌套选择器是无效的:

div {  color: red;  input {    margin: 1em;  }}

如果想继续这样编写,就需要稍微进行修改:

div {  color: red;  & input { margin: 1em; }    :is(input) { margin: 1em; }  }

嵌套选择器

在使用嵌套规则时,必须能够引用父规则匹配的元素。为此,规范中定义了一个新的选择器,即嵌套选择器,写为 & 。

当在嵌套样式规则的选择器中使用时,嵌套选择器表示与父规则匹配的元素。当在任何其他上下文中使用时,它表示与该上下文中的 :scope 相同的元素。

嵌套选择器可以通过 :is() 选择器将其替换为父样式规则的选择器。例如:

a, b {  & c { color: blue; }}

这就相当于:

:is(a, b) c { color: blue; }

嵌套选择器不能表示伪元素(与 :is() 的行为相同):

.foo, .foo::before, .foo::after {  color: red;  &:hover { color: blue; }}

这里,& 只代表.foo匹配的元素,它等同于:

.foo, .foo::before, .foo::after {  color: red;}.foo:hover {  color: blue;}

嵌套选择器的特异性(权重)等于父样式规则的选择器列表中复杂选择器中最大的特异性(与 :is() 的行为相同):

#a, b {  & c { color: blue; }}.foo c { color: red; }

DOM 结构如下:

<b class=foo>  <c>Blue text</c></b>

文本将是蓝色的,而不是红色的。& 的特异度是 #a([1,0,0]) 和 b([0,0,1]) 特异性中较大的一个,所以是 [1,0,0],而整个 & c 选择器具有特异性 [1,0,1],它大于 .foo c ([0,1,1]) 的特异性。

值得注意的是,这与将嵌套手动扩展为非嵌套规则时得到的结果不同,因为 color: blue 声明将由 b c 选择器 ([0,0,2]) 匹配,而不是#a c ([1,0,1])。

读到这里,这篇“CSS原生嵌套语法怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: CSS原生嵌套语法怎么使用

本文链接: https://lsjlt.com/news/349144.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS原生嵌套语法怎么使用
    本文小编为大家详细介绍“CSS原生嵌套语法怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS原生嵌套语法怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基本概念所谓的嵌套,就是将一个 CSS 规...
    99+
    2023-07-05
  • CSS原生嵌套语法来了!使用指南速览!
    大家好,我是 CUGGZ。最近在看 caniuse.com 时发现,Chrome 和 Edge 浏览器将在 109 版本实验性支持 CSS 原生嵌套语法!1 月 10 日,Chrome 109 发布;1 月 26 日,Safari 技术预览...
    99+
    2023-05-14
    CSS 原生 嵌套
  • c语言嵌套循环方法怎么使用
    在C语言中,嵌套循环是指在一个循环内部包含另一个循环。嵌套循环通常用于处理多维数组或需要多次迭代的情况。 以下是一个简单的示例,演示...
    99+
    2024-03-01
    c语言
  • LINQ嵌套怎么使用
    这篇文章主要介绍“LINQ嵌套怎么使用”,在日常操作中,相信很多人在LINQ嵌套怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ嵌套怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!LI...
    99+
    2023-06-17
  • python循环嵌套语句怎么用
    本篇内容主要讲解“python循环嵌套语句怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python循环嵌套语句怎么用”吧!Python 循环嵌套Python 语言允许在一个循环体里面嵌入...
    99+
    2023-06-02
  • Vue嵌套路由怎么使用
    这篇“Vue嵌套路由怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue嵌套路由怎么使用”文章吧。用 Vue CLI...
    99+
    2023-07-04
  • Python循环嵌套语言的使用
    这篇文章主要讲解了“Python循环嵌套语言的使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python循环嵌套语言的使用”吧! Python 语言允许在一个循环体里面嵌入另一...
    99+
    2023-06-04
  • Repeater的嵌套使用方法是什么
    Repeater的嵌套使用方法是将一个Repeater放置在另一个Repeater的ItemTemplate中。这样可以实现多层嵌套...
    99+
    2023-09-29
    Repeater
  • repeater嵌套使用的方法是什么
    在Python中,可以使用嵌套的方式来使用repeater模块的方法。具体方法如下:首先,导入repeater模块:```pytho...
    99+
    2023-08-26
    repeater
  • CSS中组合与嵌套的用法介绍
    本篇内容主要讲解“CSS中组合与嵌套的用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS中组合与嵌套的用法介绍”吧!CSS组合与嵌套用法详解CSS组合...
    99+
    2024-04-02
  • python函数的两种嵌套方法怎么使用
    本篇内容介绍了“python函数的两种嵌套方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!交叉嵌套交叉嵌套的方式是在本函数中调用同...
    99+
    2023-06-29
  • 怎么在R语言中嵌套list
    这期内容当中小编将会给大家带来有关怎么在R语言中嵌套list,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。第一步:生成data set的函数已经给出了。20个数据就是run20次~因为是随机生成的,最后得...
    99+
    2023-06-14
  • C语言分支循环其嵌套语句的使用方法
    今天就跟大家聊聊有关C语言分支循环其嵌套语句的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Hello,everyone! forever之前给大家介绍了C语言的分支结构和循...
    99+
    2023-06-25
  • 在MySQL存储过程中怎么使用if嵌套语句
    本篇内容主要讲解“在MySQL存储过程中怎么使用if嵌套语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在MySQL存储过程中怎么使用if嵌套语句”吧! ...
    99+
    2023-04-19
    mysql if
  • vue-router里怎么使用嵌套路由
    今天小编给大家分享一下vue-router里怎么使用嵌套路由的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。模板抽离我们已经学...
    99+
    2023-07-04
  • MySQL游标的嵌套使用方法
    本篇内容主要讲解“MySQL游标的嵌套使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL游标的嵌套使用方法”吧! 前...
    99+
    2024-04-02
  • Go语言接口的嵌套如何使用
    这篇文章主要讲解了“Go语言接口的嵌套如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言接口的嵌套如何使用”吧!在Go语言中,不仅结构体与结构体之间可以嵌套,接口与接口间也可以通...
    99+
    2023-07-06
  • C语言实例讲解嵌套语句的用法
    目录一 、if 嵌套二、比较ab两个数值大小三、总结一 、if 嵌套 格式: if ( 条件 ){    if( 嵌入一个条件 ){   &n...
    99+
    2024-04-02
  • c语言嵌套循环怎么运行
    嵌套循环是指在循环内部再嵌套另一个循环的结构。在C语言中,嵌套循环的运行方式是外部循环每执行一次,内部循环都会完整执行一轮。 例如,...
    99+
    2024-03-01
    c语言
  • C语言for循环嵌套for循环方法怎么应用
    这篇文章主要介绍“C语言for循环嵌套for循环方法怎么应用”,在日常操作中,相信很多人在C语言for循环嵌套for循环方法怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言for循环嵌套for循环...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作