在chrome中(以及其他探索器中可能的),ul元素有一个默认的填充,为ul的每个深度级别提供了更好的深度缩进。
即。第一个ul
将填充10px
,第二个ul>ul
将获得20px
,依此类推。
我试图找到一种方法,只使用填充0来制作第一个,这样就可以在不损坏子uls缩进结构的情况下为他找到一个好位置。 这就是结果:
答案 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;
}