我有这样的事情:
<div style="width:1300px">
<ul class="ul-length ul-textalign">
<li class="li-horizontal"> A </li>
<li class="li-horizontal"> B </li>
<li class="fillgap"/>
</ul>
</div>
我试图让最后一个 li 用一些背景填充该行的其余部分。我想避免根据前一个 lis 的长度指定 li 填充间隙宽度的代码。因此,我想让最后一个 li 处于绝对定位,并让它占据 ul 的整个宽度:
.fillgap {
position:absolute;
width:1300px; /* for some reason, width:100% is longer than the div width... */
z-index:0;
}
.ul-length {
with:100%;
}
.ul-textalign {
text-align:left; /* fix for IE, prevents the absolute li from beginning at the center */
}
.li-horizontal {
float:left;
}
在整个宽度上设置背景的最简单方法可能是设置 ul 的背景,但我不能这样做,因为它不符合预期的设计。我需要能够用 lis 做到这一点。而我上面的代码在IE中导致了一个问题:li fillgap似乎保留在页面流中,因为它放在前一个lis旁边,而不是在ul的开头......
任何的想法?
这是预期的结果(在歌剧中):
这是 IE 中的结果: