css 浮动 float

来源:百度知道 编辑:UC知道 时间:2024/06/23 23:18:26
http://book.csdn.net/bookfiles/136/1001364675.shtml
图2-14 向左浮动的元素
说是框2会隐藏在框1之下。可是我写的为什么不会隐藏?

<div style="width:200px; height:100%; background-color:#FF0000;">sadf

</div>
<div style="width:200px; height:100%; background-color:#FFCC00;float:left; ">sdf
</div>
````呃...提交评论字数限制的厉害了,写不下.放到问题补充里吧.
这个问题我已经知道了.解决方法是在非浮动的那个框里加上overflow:hidden; 这样IE和FF的表现就一致了.

这个问题我清楚的很,不过你分一定要给我哦,下面我来给你解释一下原因;标准应该:非浮动元素的起始位置忽略浮动元素的存在,那么框2在框1下面是对的;但是但IE则是从左浮动元素右侧边算起,也就是从框1的右边算起的,所以框2排在框1后面而不是下面;实际上与这个问题还有个相关的BUG,如果浮动元素不是图片,则在IE下,两个元素之间会产生 3个像素的间隙BUG。IE下面如果不是用了负的margin或绝对相对定位,光是浮动是不会覆盖的

补充(晕你把没浮动的框设大点。400px,那它前面的200px就被浮动的框给覆盖了,框2的字出现在200px后,都说了文档流会围绕浮动元素。不是在浮动元素的下面,而是在浮动元素的右边,他左边被浮动元素覆盖的那个没内容。文档流会围绕浮动元素,所以你能看到的不是说在浮动的下面,他在右边,就是围绕。围绕。围绕。本来是在下面的,文档围绕浮动,在右边,不是在下面。)

2 在 1的后面,你顺序反了.这里介绍的是1 2 3在一个框里.
<div style="width:200px; height:100%; background-color:#FFCC00;float:left; ">框1的字
</div>
<div style="width:400px; height:100%; background-color:#FF0000;">框2的字

</div>

默然下,文本会围绕浮动元素.那2的内容就出现在1的右边了,不是被覆盖的那里,覆盖的那部分没文本,因为文本会围绕浮动元素.
文本会围绕浮动元素会有3像素偏移,你加了背景很容易看出来.这是bug,不过不影响,比如文本围绕图片,围的太紧不好看,要有间隙,可自己控制.默认是会有3px,你看到后面有说解决办法^-^.负值偏移后其他.

你应该是刚学,这本书不适合初学者,会看的你头大的(也不是说难),不过你应该看些国产的,先打些基础,建议买书学,可能买了书两三天就会做了,我当时急着学,所以很快.如果你看这本书的话,估计半个月都很模糊,有基础在看这个,或看别的.