css定位中position:absolute與float的區別

kbx8916發表於2016-07-05

position:absolute

設定為絕對定位的元素框從文件流完全刪除,並相對於其包含塊定位,包含塊可能是文件中的另一個元素或者是初始包含塊。元素原先在正常文件流中所佔的空間會關閉,就好像該元素原來不存在一樣。元素定位後生成一個塊級框,而不論原來它在正常流中生成何種型別的框。


float情況下

浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。

由於浮動框不在文件的普通流中,所以文件的普通流中的塊框表現得就像浮動框不存在一樣。

注意float是對文件普通流中的塊框(div p h1等),表現的像浮動框不存在一樣,對於行框這不是,而是將行框的寬度縮短(浮動框旁邊的行框被縮短,從而給浮動框留出空間,行框圍繞浮動框。)。


例如:

<style>
#div1
{
float:left;
width:300px;
height:300px;
background-color:lightblue;
border:2px solid blue;
}


h2
{
background-color:red;
width:1000px;
height:400px;
}


</style>
</head>


<body>
<div id="div1">
</div>
<h2><img src="../top_bg.jpg" width="300" height="100">i am okkk 這是一個標題</h2>


</body>


結果為:



相關文章