嵌套列表css规则,以支持无限深度

luk*_*emh 5 css

我有以下css:

.navi-live ol{
  margin:0;
  padding:0;
  list-style-type: none;
}
.navi-live li{
  margin:0;
  padding:0px;
  list-style-type: none;
}
.navi-live ol .nav-item-contents{
  padding-left:20px;
}
.navi-live ol ol .nav-item-contents{
  padding-left:40px;
}
.navi-live ol ol ol .nav-item-contents{
  padding-left:60px;
}
.navi-live ol ol ol ol .nav-item-contents{
  padding-left:80px;
}
.navi-live ol ol ol ol ol .nav-item-contents{
  padding-left:100px;
}
Run Code Online (Sandbox Code Playgroud)

这是有效的(我不想缩进li或ol,但缩进内容就像li和ol缩进一样),但是限制了我创建的css规则的数量.

如何进行上述操作而不必为每个我想支持的新缩进级别创建新规则?

jsfiddle:http://jsfiddle.net/k4hjp/1/

谢谢,

smi*_*omb 3

您应该能够对所有nav-item-contentdiv 进行简单的选择,在递增 padding 变量的同时迭代每个 div。

jsfiddle

//put this inside a function and call it when you want to append to the navigation
var padding = 20;
$('.nav-item-contents').each(function(){
    $(this).css('padding-left',padding+'px');
    padding+=20;
});
Run Code Online (Sandbox Code Playgroud)

编辑

添加了如何附加子项的演示:jsfiddle