我有一个场景,我正在生成像这样生成的ID
<div class="containerLength">
<div id="new-1"></div>
<div id="new-2"></div>
<div id="new-3"></div>
<div id="new-4"></div>
</div>
等等
有没有办法可以通过循环编写一些css来定位它们? 也许像是
#new[i; for(i=0; i<="containerLength.length"; i++)]{
float:left;
}
可能我白天做梦正确吗?
答案 0 :(得分:10)
你不能用纯CSS做循环,但是,如果你使用像SASS或LESS这样的东西,你可以这样做:
<强> SASS 强>:
@for $i from 1 through 4
.#{$class-slug}-#{$i}
width: 60px + $i
<强> LESS 强>:
Can you do a javascript for loop inside of LESS css?
但是,假设您只想对每个嵌套div
应用相同的样式,您可以这样做
.containerLength > div{
float: left;
}
或者创建一个名为.float-left
的类并将其应用于您想要向右浮动的每个元素。
答案 1 :(得分:3)
你可以做到
div.containerLength > div { /* > Matches only first level children of the wrapper div */
float: left;
}
答案 2 :(得分:2)
答案 3 :(得分:1)
你为什么不试试这个:
.containerLength > div {float:left}
答案 4 :(得分:0)
你不能在css中写任何逻辑。但是,您可以使用JavaScript管理css,或在一个规则中包含多个ID,或者只使用一个类。
您也可以使用Css属性选择器,具体取决于ID的排列方式以及浏览器支持需要的范围。
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors