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

前端之家收集整理的这篇文章主要介绍了嵌套列表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;
}

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

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

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

谢谢,

最佳答案
您应该能够简单地选择所有nav-item-content div,在递增填充变量的同时迭代每个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;
});

编辑

添加了如何追加儿童的演示:jsfiddle.

猜你在找的CSS相关文章