将父级ul填充设置为0

时间:2015-02-28 00:45:03

标签: css

在chrome中(以及其他探索器中可能的),ul元素有一个默认的填充,为ul的每个深度级别提供了更好的深度缩进。

即。第一个ul将填充10px,第二个ul>ul将获得20px,依此类推。

我试图找到一种方法,只使用填充0来制作第一个,这样就可以在不损坏子uls缩进结构的情况下为他找到一个好位置。 这就是结果:

2 个答案:

答案 0 :(得分:0)

此代码将使所有不是li元素的直接子元素的ul元素具有填充0(或者您希望放在那里的任何代码)。

*:not(li) > ul {
  padding: 0;
  /* more code */
}

答案 1 :(得分:0)

最佳解决方案,如果您不需要支持IE8及以下是:

:not(ul) ul {
    padding-left:0;
}

如果您确实需要支持某些旧版浏览器,则必须自行为ul元素指定常规填充:

ul {
    padding-left:0;
}
ul ul {
    padding-left:10px;
}