2011-08-15 98 views
2

我有以下代码:如何停止float:left div被div覆盖?

<div> 
    <div onmouseover="this.style.color='red'" 
     onmouseout="this.style.color='blue'" 
     style="float:left"> 
     a 
     <br/> 
     b 
     <br/> 
     c 
    </div> 
    <div onmouseover="this.style.color='red'" 
     onmouseout="this.style.color='blue'" 
     style="position:relative;"> 
     Testing, one two three... 
    </div> 
</div> 

第一个div推动的第二个div到右侧的文本,而不是第二个div本身,所以在第一内div的,a将由被掩盖T在第二内格,和悬停在a不会触发的onmouseover。

这是一个非常简单的例子,但是如何获得这种布局,保留第二个div的position:relative并且不向其添加任何边距,因为第一个div可能会或可能不会显示?第二个div会掩盖第一个,这似乎很奇怪。

+0

有了你这里列出的HTML /风格,这些元素不应该有重叠的文本。你确定这是复制问题的整个样本吗?你能否为上下文提供更多的代码,包括所有应用的样式?在哪些浏览器/版本中遇到问题? –

+0

文字是不重叠的,但如果你出去试试这个代码,你会看到onmouseover事件不工作的'了' – yuttadhammo

回答

4

如果我理解正确的你..把float: left;到第二个div为好。

+0

是的,你明白我的完美...感谢一大堆,那就像一个魅力:) – yuttadhammo

+0

感谢您的答案。简单,但做到了。 –