当前位置: 首页 > 知识库问答 >
问题:

Sass.SCSS:嵌套和多重类?

施昊然
2023-03-14

我在当前项目中使用Sass(.scss)。

以下示例:

HTML

<div class="container desc">
    <div class="hello">
        Hello World
    </div>
</div>

SCSS

.container {
    background:red;
    color:white;

    .hello {
        padding-left:50px;
    }
}

这个很管用。

我可以处理多个类,同时使用嵌套样式。

在上面的示例中,我讨论了以下内容:

CSS

.container.desc {
    background:blue;
}

在这种情况下,所有div.container通常为红色,但div.container.desc为蓝色。

我如何在container中与Sass嵌套?

共有1个答案

沈子实
2023-03-14

您可以使用父选择器引用&编译后它将被父选择器替换:

对于您的示例:

.container {
    background:red;
    &.desc{
       background:blue;
    }
}

/* compiles to: */
.container {
    background: red;
}
.container.desc {
    background: blue;
}

&将完全解析,因此如果父选择器本身是嵌套的,则在替换&之前将解析嵌套。

这个符号最常用来写伪元素和-类:

.element{
    &:hover{ ... }
    &:nth-child(1){ ... }
}

但是,您可以将&放置在您喜欢的任何位置*,因此也可以执行以下操作:

.container {
    background:red;
    #id &{
       background:blue;
    }
}

/* compiles to: */
.container {
    background: red;
}
#id .container {
    background: blue;
}

但是,请注意,这会在某种程度上破坏嵌套结构,从而可能增加在样式表中查找特定规则的工作量。

*:&前面不允许使用空白字符。因此不能直接串联selector+&-#id&将引发错误。

 类似资料:
  • 大家好,我在SCALA上创建了以下案例类: 然后,如您所见,BGP包含Term并扩展到模式,Val包含值并扩展到Term,U、L、B包含字符串并扩展到Value,在我的函数中,我想访问包含U或L或B大小写类的字符串,变量valor=Val(y). value包含一个U类,例如,但当我编写valor时。XXXX没有给我显示名称选项。最大的问题是如何从U访问字符串名称?

  • 在下面的代码中,我试图在< code >选项卡下显示所有< code >项目(对象),它们应该基于它们的类别。 类别必须相等。 编辑:如果还不清楚,请看这里。 我正在尝试遍历选项卡并将每个选项卡的名称添加到选项卡的“模板”中。 然后,我尝试遍历项目,如果项目的类别与选项卡的类别匹配,那么它将显示在选项卡下。 出于某种原因,它似乎不起作用。我做错什么了吗?< br >请原谅我和我的逻辑,过去两天一直

  • 使用Laravel 5.6,我试图从MySQL类别表中显示子类别的子类别。我想传递这个名字,并获得它的所有子类,而不管父类是什么。 类别表 期望结果 return App\Category::where('name','Child-1-P-2'))-

  • 我的mongoDB集合中有一千多个文档,其中每个文档都表示这样一首歌的数据: 现在,在聚合管道的帮助下,我想按以下方式对我的集合进行分组。到目前为止,我可以对1个阶段进行分组,但我很难将整个根文档进行到底,并进行嵌套分组。 列出所有流派-

  • 我试图弄清楚嵌套for循环是如何与JavaScipt中的多维数组一起工作的,但有一点让我有些困惑。以股票为例 这就是我所期望的结果123456。但是,如果我将数字添加到外部数组的末尾: 我仍然得到同样的输出1 2 3 4 5 6?我不明白为什么 输出是一个bcdyz,这是我所期望的。为什么字符串的行为会有所不同?

  • 我有一个相当典型的场景,其中有一个main@实体,他内部的所有内容都是可嵌入的(因此,没有父实体,内部的所有内容都没有意义)。现在JPA 2.0阻止我在另一个@ElementCollection中定义的@Embeddeble中嵌套一个@ElementCollection: JSR-317 2.6可嵌入类和基本类型的集合包含在元素集合中的可嵌入类(包括另一个可嵌入类中的可嵌入类)不得包含元素集合,也