我想知道是否可以margin-left
使用CSS3基于计数器的值设置元素.
换句话说,拥有这样的HTML:
<section>A</section>
<section>B</section>
<section>C</section>
Run Code Online (Sandbox Code Playgroud)
有第一块,有margin-left: 0em
第二块,1em
依此类推.
到目前为止,我尝试过以下方法:
section
{
counter-increment: sect-indent;
margin-left: calc(counter(sect-indent) * 1em);
}
Run Code Online (Sandbox Code Playgroud)
但似乎calc()
不支持获得计数器值.
使用CSS3有可能这样吗?我对涉及ECMAScript的解决方案不感兴趣.
如果您正在处理一小组section
彼此相邻的元素(如示例所示),那么使用相邻的同级选择器(或者nth-of-type
如果只需要 CSS3 支持)将获得您想要的内容,而无需计数。然而,可能超过五个元素,CSS 可能会变得太麻烦,所以如果您要查看数百个元素,这是不切实际的。
section { margin-left: 0}
section + section {margin-left: 1em}
section + section + section {margin-left: 2em}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3758 次 |
最近记录: |