我正在尝试使用parent / child / grandchild / ...缩进创建一个可选列表。请参阅以下内容:
http://jsfiddle.net/hphvpxuo/1/
HTML code:
<li class="level-1">
<div>Parent 1 - Lorem ipsum dolor sit amet</div>
<ul class="level-2">
<li>
<div>Child 1.1 - consectetur adipiscing elit</div>
</li>
<li>
<div>Child 1.2 - Integer nec odio</div>
</li>
</ul>
</li>
CSS代码:
.level-1 {
margin-left: .25em;
margin-bottom: 1px;
}
.level-2 {
margin-left: 1em;
}
Javascript代码:
[请参阅jsfiddle]
是否可以根据您拥有的孩子的深度动态定义CSS样式?在上面的例子中,我只显示了父/子级别(仅限级别1和级别2) - 并且我已经为这两个级别适当地定义了“margin-left”。
但是,实际的级别数只能在运行时确定 - 例如我可能需要5个级别的缩进(最多“级别5”)或更多。是否有可能动态定义缩进(通过CSS或不通过CSS),如果我不知道手头需要多少缩进?
谢谢大家。
答案 0 :(得分:1)
1-如果您想为每个级别制作自定义样式,那么&#34;&gt;&#34;对你有好处,&#34;&gt;&#34;只选择直接孩子。
所以你可以选择这样的第一级:
#theParentList > li
第二级将是
#theParentList > li > ul > li
第三个:
#theParentList > li > ul > li > ul > li
等。
2-但是,如果你想让关卡向右移动一个级别并且你没有每个级别的独立风格,那么你可以应用这个css:
#theParentList li {
margin-left: 2em;
}
这将影响所有&#34; li&#34;儿孙... 因此,每一个李将从它的父母那里向右移动一点,并将所有它的孩子转移到它。
注意:如果你想让它从2级开始转移那么你可以把另一个&#34; li&#34;像这样:
#theParentList li li {
margin-left: 2em;
}