css中定位position屬性的用法是什麼

2021-03-21 19:00:55

css中定位position屬性的用法:1、一般的標籤元素不加任何定位屬性都屬於靜態定位;2、絕對定位的元素從檔案流中拖出;3、相對定位元素不可層疊;4、固定定位與絕對定位類似,但它是相對於瀏覽器視窗定位,並且不會隨著卷軸進行卷動。

本教學操作環境:windows7系統、css3版,DELL G3電腦。

css中定位position屬性的用法:

1、靜態定位(static)

一般的標籤元素不加任何定位屬性都屬於靜態定位,在頁面的最底層屬於標準流。

2、絕對定位(absolute)

絕對定位的元素從檔案流中拖出,使用left、right、top、bottom等屬性相對於其最接近的一個最有定位設定的父級元素進行絕對定位,如果元素的父級沒有設定定位屬性,則依據 body 元素左上角作為參考進行定位。絕對定位元素可層疊,層疊順序可通過 z-index 屬性控制,z-index值為無單位的整數,大的在上面,可以有負值。

絕對定位的定位方法:

如果它的父元素設定了除static之外的定位,比如position:relative或position:absolute及position:fixed,那麼它就會相對於它的父元素來定位,位置通過left , top ,right ,bottom屬性來規定,

如果它的父元素沒有設定定位,那麼就得看它父元素的父元素是否有設定定位,

如果還是沒有就繼續向更高層的祖先元素類推,總之它的定位就是相對於設定了除static定位之外的定位的第一個祖先元素,

如果所有的祖先元素都沒有以上三種定位中的其中一種定位,那麼它就會相對於檔案body來定位(並非相對於瀏覽器視窗,相對於視窗定位的是fixed)。

<head>
<style type="text/css">
.box {
background: red;
width: 100px;
height: 100px;
float: left;
margin: 5px;
}
.two {
position: absolute;
top: 50px;
left: 50px;
}
</style>
</head>
<body>
<div class="box" >One</div>
<div class="box  two" >Two</div>
<div class="box" >Three</div>
<div class="box">Four</div>
</body>

將class="two"的div定位到距離的頂部和左側分別50px的位置。會改變其他元素的佈局,不會在此元素本來位置留下空白。

3、相對定位(relative)

相對定位元素不可層疊,依據left、right、top、bottom等屬性在正常檔案流中偏移自身位置。同樣可以用z-index分層設計。

<head>
<style type="text/css">
.box {
background: red;
width: 100px;
height: 100px;
float: left;
margin: 5px;
}
.two {
position: relative;
top: 50px;
left: 50px;
}
</style>
</head>
<body>
<div class="box" >One</div>
<div class="box  two" >Two</div>
<div class="box" >Three</div>
<div class="box">Four</div>
</body>

將class="two"的div定位到距離它本來位置的頂部和左側分別50px的位置。不會改變其他元素的佈局,會在此元素本來位置留下空白。

4、固定定位(fixed)

固定定位與絕對定位類似,但它是相對於瀏覽器視窗定位,並且不會隨著卷軸進行卷動。

固定定位的最常見的一種用途是在頁面中建立一個固定頭部、固定腳部或者固定側邊欄,不需使用margin、border、padding。

以上就是css中定位position屬性的用法是什麼的詳細內容,更多請關注TW511.COM其它相關文章!