CSS中的相對定位和絕對定位

2021-08-02 14:39:14 字數 1620 閱讀 5943

相對定位

在css中,我們可以將position屬性的值設定成relative來對元素進行相對定位。如果對某元素設定了相對定位,那麼該元素仍然會出現在標準文件流中它原本的位置。然後我們可以通過設定left、top等屬性,讓這個元素以它原來的位置為參照物進行移動。只要position屬性的值為relative,無論是否對該元素進行移動,元素仍然占有原來的空間。因此,使用相對定位移動元素會使它覆蓋其他框。

絕對定位

將position屬性的值設定為absolute可以對元素進行絕對定位。使用了絕對定位的元素被從標準文件流中移除,即不占用原來的空間,並且該元素會相對於最近的已經定位的祖先元素進行定位,如果該元素沒有已定位的祖先元素,那麼它就會相對於其最外層的祖先元素進行定位。

簡單來說,相對定位是「相對於」元素在文件中的初始位置;而絕對定位是「相對於」最近的已定位祖先元素,如果不存在已定位的祖先元素,那麼就「相對於」最初的包含塊。例項

css中的相對定位和絕對定位title>

type="text/css">

body

div.boxes

.box1

.box2

.box3

style>

head>

class="boxes">

class="box1">

111div>

class="box2">

222div>

class="box3">

333div>

div>

body>

html>

上述**的執行結果如下圖所示:

然後,我們對class為box2的div元素使用相對定位

.box2

結果如下圖:

可以看出,使用相對定位後,該元素相對於它的初始位置向下移動了50px,向右移動了100px,並且將class為box3的div元素覆蓋了。然後我們直接對class為box2的div元素使用絕對定位,**只需要將position:relative;改為position:absolute;就可以了。執行結果如下:

可以看出,class為box2的div元素相對於body元素向下移動了50px,向右移動了100px。並且它脫離了標準文件流,class為box3的div元素佔據了它原來的位置。然後,我們把class為boxes的div元素設定成相對定位,把class為box2的div元素設定成絕對定位,看一下有什麼效果。

**:

.boxes

.box2

可見,class為boxes的div元素相對於它之前的位置向下移動了100px,而class為box2的div元素相對於它的父元素(即class為boxes的div元素)向下移動了50px,向左移動了100px。

css 中相對定位和絕對定位

1.css中定位機制有三種 標準文件流,浮動,絕對定位 2.絕對定位就屬於第三種定位,用到position屬性,下面就是具體設定 相對定位 相對於自身原有位置 就是普通流的時候 進行偏移 設定top,left.後 仍然處於標準文件流中 隨即擁有偏移屬性和z index屬性 絕對定位 建立了以包含塊為...

css中的相對定位和絕對定位

這幾天在看div css,在網上找到了很多的資料,我都不知道選擇哪乙個了。這兩天在看 十天學會web標準 div css 感覺還可以。把今天學習過程中遇到的問題和知識點,給記錄下來。首先學習到的是css中的相對定位和絕對定位。定位標籤 position 包含屬性 relative 相對 absolu...

css中的相對定位和絕對定位

原文 這幾天在看div css,在網上找到了很多的資料,我都不知道選擇哪乙個了。這兩天在看 十天學會web標準 div css 感覺還可以。把今天學習過程中遇到的問題和知識點,給記錄下來。首先學習到的是css中的相對定位和絕對定位。定位標籤 position 包含屬性 relative 相對 abs...