我需要最后一条红线与之前的所有红线相等。 UL容器的宽度可能不同(这使得第n个选择器在这里无用)。 每个LI的线条高度也可能不同。内嵌块元素后的水平线
演示:http://jsfiddle.net/6ZX9W/34/
<ul>
<li>Medium medium medium medium medium contnent.</li><!--
--><li>Short contnent.</li><!--
--><li>Long long long long long long long long long long long long long long long long long long long long long long long long long long long long long contnent.</li><!--
--><li>Short contnent.</li><!--
--><li>Even more long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long contnent.</li><!--
--><li>Short contnent.</li><!--
--><li>Medium medium medium medium medium contnent.</li>
</ul>
li {
position: relative;
display: inline-block;
width: 200px;
vertical-align: top;
margin-right: 20px;
margin-bottom: 20px;
border: solid 1px #ccc;
}
li:before {
content: '';
position: absolute;
top: -10px;
left: 0;
display: block;
width: 222px;
border-top: solid 10px rgba(255,0,0,.3);
}
希望找到没有JavaScript的帮助解决。
upd。边框颜色应该是透明的。所以要小心重叠。
upd2。红线不应该太长(它应该在最后一列+添加边距(margin-right:20px)之后结束)。
你想要的列数是否已修复?或取决于用户的屏幕大小? – Arkana 2013-04-10 08:29:48
列数不固定。这取决于用户的屏幕大小。 – Sladex 2013-04-10 10:05:24