position 屬性介紹
(1)position 屬性自 CSS2 起就有了,該屬性規定元素的定位型別。所有主流瀏覽器都支援 position 屬性。
(2)position 的可選值有四個:static、relative、absolute、fixed。下面分別進行介紹。(其實還有個 inherit,不過這個是 IE 特有的,這裡就不做討論)
position: static(預設值)
1,基本介紹 (1)static 是預設值。表示沒有定位,或者說不算具有定位屬性。 (2)如果元素 position 屬性值為 static(或者未設 position 屬性),該元素出現在正常的流中(忽略 top, bottom, left, right 或者 z-index 宣告)。
2,使用樣例
css:
<style>
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
</style>
複製程式碼
html:
<div></div>
<input type="text"/>
複製程式碼
我們不設定元素的 postion 屬性值,那麼預設的顯示效果如下:
position: relative(相對定位)
1,基本介紹
(1)relative 生成相對定位的元素,相對於其正常位置進行定位。 (2)相對定位完成的過程如下:
首先按預設方式(static)生成一個元素(並且元素像層一樣浮動了起來)。
然後相對於以前的位置移動,移動的方向和幅度由 left、right、top、bottom 屬性確定,偏移前的位置保留不動。
複製程式碼
2,樣例程式碼
下面程式碼將文字輸入框 position 設定為 relative(相對定位),並且相對於預設的位置向右、向上分別移動 15 個畫素。
css:
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
input {
position: relative;
left: 15px;
top: -15px;
}
複製程式碼
html:
<div></div>
<input type="text" />
複製程式碼
執行效果如下:
詳情見我的部落格: alex-0407.github.io/blog/2018/0…
1,基本介紹
(1)absolute 生成絕對定位的元素。 (2)絕對定位的元素使用 left、right、top、bottom 屬性相對於其最接近的一個具有定位屬性的父元素進行絕對定位。 (3)如果不存在這樣的父元素,則相對於 body 元素,即相對於瀏覽器視窗。
2,樣例程式碼
下面程式碼讓標題元素相對於它的父容器做絕對定位(注意父容器 position 要設定為 relative)。
同時通過 top 屬性讓標題元素上移,使其覆蓋在父容器的上邊框。
最後通過 left 和 margin-left 配合實現這個絕對定位元素的水平居中。
複製程式碼
css:
#box {
width: 200px;
height: 100px;
-webkit-box-flex:1;
border: 1px solid #28AE65;
border-radius:6px;
padding: 20px;
position: relative;
font-size: 12px;
}
#title {
background: #FFFFFF;
color: #28AE65;
font-size: 15px;
text-align: center;
width: 70px;
height: 20px;
line-height: 20px;
position: absolute;
top: -10px;
left: 50%;
margin-left: -35px;
}
複製程式碼
html:
<div id="box">
<div id="title">標題</div>
歡迎訪問我的部落格
</div>
複製程式碼
執行效果如下,標題元素雖然是在邊框容器的內部。但由於其使用絕對定位,並做位置調整,最後顯示效果就是覆蓋在父容器邊框上。
詳情見我的部落格: alex-0407.github.io/blog/2018/0…
1,基本介紹 (1)fixed 生成絕對定位的元素,該元素相對於瀏覽器視窗進行定位。 (2)固定定位的元素不會隨瀏覽器視窗的滾動條滾動而變化,也不會受文件流動影響,而是始終位於瀏覽器視窗內檢視的某個位置。
2,樣例程式碼 (1)下面程式碼讓輸入框位於瀏覽器視窗的底部。
css:
input {
position: fixed;
bottom: 10px;
}
複製程式碼
html:
<ol>
<li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li>
<li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li>
<li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li>
<li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li><li>資料</li>
</ol>
<input type="text" />
複製程式碼
(2)可以看到不管滾動條如何滾動,輸入框始終處於視窗的最下方。
詳情見我的部落格: alex-0407.github.io/blog/2018/0…
更多angular1/2/4/5、ionic1/2/3/4、react、vue、微信小程式、nodejs等技術文章、視訊教程和開源專案,請掃一掃下面的二維碼關注微信公眾號——全棧弄潮兒。
福利專區:掃碼關注,免費領取淘寶天貓內部優惠券