博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

position absolute relative; float

Posted on 2014-04-04 11:07  bw_0927  阅读(126)  评论(0)    收藏  举报
position: relative;

在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。


position: absolute;
设置为绝对定位的元素框从文档流完全删除并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。普通流中其它元素的布局就像绝对定位的元素不存在一样.

因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置 z-index 属性来控制这些框的堆放次序。



浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

 

float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本(其实无论文本是否使用了<p>块级元素还是使用了行内元素<span>,只要被浮动元素的周围是文本,文本就环绕图像而不会被覆盖)围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”: