Bri*_*las 95 html css html-lists
在一个<ul>元素中,显然可以使用line-height属性格式化行之间的垂直间距.
我的问题是,在<ul>元素中,如何设置列表项之间的垂直间距?
小智 102
你可以使用保证金.看例子:
li{
margin: 10px 0;
}
Run Code Online (Sandbox Code Playgroud)
小智 34
HTML
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS
li:not(:last-child) {
margin-bottom: 5px;
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果你没有使用特殊情况的最后一个li元素,你的列表将有一个小间距,你可以在这里看到:http://jsfiddle.net/wQYw7/
现在将其与我的解决方案进行比较:http://jsfiddle.net/wQYw7/1/
当然这在旧浏览器中不起作用,但您可以轻松使用js扩展,这将为旧浏览器启用此功能.
Pau*_*e_D 31
我倾向于这具有IE8支持的优点.
li{
margin-top: 10px;
border:1px solid grey;
}
li:first-child {
margin-top:0;
}
Run Code Online (Sandbox Code Playgroud)
Ced*_*all 27
老问题,但我认为它缺乏答案。我会使用相邻的兄弟姐妹选择器。这样我们只写了“一行”CSS,并考虑了结尾或开头的空格,这是大多数答案所缺乏的。
li + li {
margin-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)
tca*_*lat 10
您还可以使用 ul 上的 line-height 属性
ul {
line-height: 45px;
}
div {
border: 2px solid black;
}Run Code Online (Sandbox Code Playgroud)
<div>
<ul>
<li>line one</li>
<li>line two</li>
<li>line three</li>
</ul>
</div>Run Code Online (Sandbox Code Playgroud)
小智 7
要应用于整个列表,请使用
ul.space_list li { margin-bottom: 1em; }
Run Code Online (Sandbox Code Playgroud)
然后,在 html 中:
<ul class=space_list>
<li>A</li>
<li>B</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
小智 7
在父ul元素上使用 CSS 网格,如下所示:
ul {
display: grid;
gap: 10px;
}
Run Code Online (Sandbox Code Playgroud)