SASS通配符*用于选择父级中的所有ID

SASS通配符*用于选择父级中的所有ID,sass,Sass,我在某个地方看到过将*用于ID或类选择器的能力与SASS…正确的方法是什么 例如,我想选择父div中的所有div id。我可以想象如下: <div id="parent"> <div id="sub1"> <div class="icon"></div> <div class="content"></div>

我在某个地方看到过将*用于ID或类选择器的能力与SASS…正确的方法是什么

例如,我想选择父div中的所有div id。我可以想象如下:

<div id="parent">
                <div id="sub1">
                    <div class="icon"></div>
                    <div class="content"></div>
                </div>
                <div id="sub2">
                    <div class="icon"></div>
                    <div class="content"></div>
                </div>

#parent {
   #* {
}}

如果以有序的方式命名子级,则可以使用@for指令更容易地进行更新:

$num-of-children: 2

@for $i from 1 through $num-of-children
  #sub-#{$i}
    @extend %parent-children

#parent
  %parent-children
    //styles
此外,如果ID更随意,则可以将列表传递到@each指令中以实现类似效果:

$children: sam ramond lemons butter

@each $child in $children
  ##{$child} 
    @extend %parent-children

#parent
  %parent-children
    //styles

您只能使用css选择器,如:

#parent {
    div[id] {
      // styles
    }
}


Sass没有这样的通配符,但是CSS有。Sass也只知道CSS对文档标记的了解,换句话说:什么都不知道。你能重新措辞你的问题吗?因为不清楚您到底在寻找什么。您能具体说明一下为什么简单的CSS选择器parent*或parent div不起作用吗?是的,我有点不清楚,对不起,我已经更新了上面的预期代码。基本上我想选择sub1和sub2。所以*和div不起作用,因为它会选择其他的。然而,parent>div会起作用,我只是希望有一种时髦的方式来做到这一点:D我会尝试下面由bookcasey发布的答案并发回!同样,在这个例子中,您可以使用parent>div-plain CSS只选择直接子代。谢谢,这是非常有趣的代码!然而,我应该更具体地说,我的子div实际上没有编号,它们都有唯一的ID名称。然而,这是很好的东西,我会记住的。如何将其用于具有唯一id名称的子div?我使用的是SCSS,所以我对其进行了格式化-这是示例和输出$儿童人数:2人@对于$i从1到$num的子项{sub-{$i}{@extend%parent children}}parent%parent children{background:blue;}parent sub-1,工具栏parent sub-2{background:blue;}edit?我用一个类似的选项更新了我的答案,以获得唯一的名称。哦,这太酷了!你能详细说明一下div[id^='sub']是什么吗?^是在'sub'之后的通配符吗?@petergus Ya!还有更多类似的选择器,请参见
#parent {
    div[id^='sub'] {
      // styles
    }
}