我在无序列表(ul)中浮动文本时遇到一些问题。问题出现了,因为我想将div元素浮动到左边,我需要这样做,因为在这个div之后还有另一个div,需要在同一行上,所以我使用float left。以下是jsFiddle的示例。现在的问题是,在FF 6.02,Opera 11.50和IE9它运行正常,但在Chrome 14.0.835.202,IE7和IE8应该出现在文本前面的圆圈几乎出现在后台文本的末尾
我已经在jsFiddle上发布了这个例子,但也会在这里发布代码:
HTML:
<ul>
<li>
<div class="textLeft">Glavna knjiga</div>
</li>
</ul>
CSS:
.textLeft {
float: left;
position: relative;
left: 4px;
}
现在我该如何解决这个问题,以便在IE7和Chrome中显示相同的内容?
答案 0 :(得分:2)
如果你不必使用位置相对,你可以使两个div成为内联块,而不是左边,使用padding-left。
以下是一个示例:http://jsfiddle.net/bQthE/3/
答案 1 :(得分:1)
问题是div是浮动的,但li
本身不是。这样就可以使列表项的指示符圆圈定位,好像div不在那里。是否可以浮动li
,或者可能整个ul
?
答案 2 :(得分:0)
为什么你需要漂浮div?将你的div设置为显示:inline-block,它会处理它。您必须记住的一件事是内联块显示在div的右侧创建一个4px的边距,因此如果您有一个固定宽度列表项(li),则必须考虑到这一点。
如果我可以提供帮助,我通常不喜欢浮动元素。