无序列表(<ul>)默认缩进

ben*_*e89 27 html css

任何人都可以告诉我为什么无序列表应用了默认的缩进/填充?这可以通过CSS浏览器重置来解决吗?

min*_*gos 64

至于为什么,不知道.

重置肯定会解决这个问题:

ul { margin: 0; padding: 0; }
Run Code Online (Sandbox Code Playgroud)

  • 重置`padding-left`似乎已经足够了(至少在Firefox中). (2认同)

Ed *_*irm 21

我发现以下内容从左侧和右侧移除了缩进和边距,但允许子弹在其上方的文本下方保持左对齐.将其添加到您的css文件中:

ul.noindent {
    margin-left: 5px;
    margin-right: 0px;
    padding-left: 10px;
    padding-right: 0px;
}
Run Code Online (Sandbox Code Playgroud)

要在html文件中使用它,请将class ="noindent"添加到UL标记中.我已经测试了w/FF 14和IE 9.

我不知道为什么浏览器默认为缩进,但我没有理由经常更改它们.


Guf*_*ffa 9

它有一个默认的缩进/填充,以便子弹不会在列表本身之外结束.

CSS重置可能包含也可能不包含重置列表的规则,这取决于您使用的是哪一个.


Rus*_*ias 6

我先解决你的第二个问题.是的,可以使用像Eric Meyers这样的浏览器重置来重置缩进.或者简单地说ul { margin: 0; padding: 0;},缩进是默认情况下对ul元素强制执行的.

至于为什么,我怀疑它与当前的嵌套水平有关,因为无序列表允许嵌套或者可能与子弹定位有关.

编辑:正如Guffa所提到的,列表缩进是为了确保标记不会从左边缘掉落.