CSS 中浮动列表项之间的水平分隔线
Horizontal Divider Line Between Floating List Items in CSS
我想像这样在浮动项目之间添加线条:
..........................................
. .
. LI LI LI LI LI LI LI LI LI LI LI .
. -------------------------------- .
. LI LI LI LI LI LI LI LI LI LI LI .
. -------------------------------- .
. LI LI LI LI LI LI* .
. .
..........................................
*请注意,最后一行的最后一个列表项没有 border/divider 行。
我有纯 UL/LI 元素,不想使用额外的 class 导致看起来很脏 HTML 和不合逻辑的方式。
如何使用纯 CSS 完成此操作?
如果你可以假定每行的元素,你可以使用纯 css
示例:http://codepen.io/nilestanner/pen/yaPgzj
如果每个宽度有 4 个 li 元素,则可以在每个元素上放置一个底部边框
li{
float:left;
width:25%;
border-bottom: 1px solid black;
}
然后 select 最后一行并删除边框。
li:nth-child(4n+1):nth-last-child(-n+4),
li:nth-child(4n+1):nth-last-child(-n+4) ~ li {
border:none;
}
那么就只需要针对每个平台进行媒体查询即可。例如,如果每行有 3 个元素,则可以将所有 4s 更改为 3s
我想像这样在浮动项目之间添加线条:
..........................................
. .
. LI LI LI LI LI LI LI LI LI LI LI .
. -------------------------------- .
. LI LI LI LI LI LI LI LI LI LI LI .
. -------------------------------- .
. LI LI LI LI LI LI* .
. .
..........................................
*请注意,最后一行的最后一个列表项没有 border/divider 行。
我有纯 UL/LI 元素,不想使用额外的 class 导致看起来很脏 HTML 和不合逻辑的方式。
如何使用纯 CSS 完成此操作?
如果你可以假定每行的元素,你可以使用纯 css
示例:http://codepen.io/nilestanner/pen/yaPgzj
如果每个宽度有 4 个 li 元素,则可以在每个元素上放置一个底部边框
li{
float:left;
width:25%;
border-bottom: 1px solid black;
}
然后 select 最后一行并删除边框。
li:nth-child(4n+1):nth-last-child(-n+4),
li:nth-child(4n+1):nth-last-child(-n+4) ~ li {
border:none;
}
那么就只需要针对每个平台进行媒体查询即可。例如,如果每行有 3 个元素,则可以将所有 4s 更改为 3s