一. position 屬性介紹
position 的可選值有四個:static怖现、relative剔难、absolute迅诬、fixed:
- static:
(1)static 是默認值佩谷。表示沒有定位旁壮,或者說不算具有定位屬性。
(2)如果元素 position 屬性值為 static(或者未設(shè) position 屬性)谐檀,該元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)抡谐。
<style>
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
</style>
<div></div>
<input type="text"/>
效果如下:
圖片.png
- relative(相對定位)
(1). relative 生成相對定位的元素,相對于其正常位置進行定位稚补。
(2). 相對定位完成的過程如下:
- 首先按默認方式(static)生成一個元素(并且元素像層一樣浮動了起來)童叠。
- 然后相對于以前的位置移動,移動的方向和幅度由 left课幕、right厦坛、top、bottom 屬性確定乍惊,偏移前的位置保留不動杜秸。
(3). 樣例代碼
下面代碼將文本輸入框 position 設(shè)置為 relative(相對定位),并且相對于默認的位置向右润绎、向上分別移動 15 個像素撬碟。
<style>
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
input {
position: relative;
left: 15px;
top: -15px;
}
</style>
<div></div>
<input type="text" />
圖片.png
- absolute(絕對定位)
(1)absolute 生成絕對定位的元素诞挨。
(2)絕對定位的元素使用 left、right呢蛤、top惶傻、bottom 屬性相對于其最接近的一個具有定位屬性的父元素進行絕對定位。
(3)如果不存在這樣的父元素其障,則相對于 body 元素银室,即相對于瀏覽器窗口。
- 下面代碼讓標題元素相對于它的父容器做絕對定位(注意父容器 position 要設(shè)置為 relative)励翼。
- 同時通過 top 屬性讓標題元素上移蜈敢,使其覆蓋在父容器的上邊框。
- 最后通過 left 和 margin-left 配合實現(xiàn)這個絕對定位元素的水平居中汽抚。
<style>
#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;
}
</style>
<div id="box">
<div id="title">標題</div>
歡迎訪問 hangge.com 歡迎訪問 hangge.com 歡迎訪問 hangge.com 歡迎訪問 hangge.com
</div>
運行效果如下抓狭,標題元素雖然是在邊框容器的內(nèi)部。但由于其使用絕對定位造烁,并做位置調(diào)整否过,最后顯示效果就是覆蓋在父容器邊框上。
圖片.png
- fixed(固定定位)
(1)fixed 生成絕對定位的元素膨蛮,該元素相對于瀏覽器窗口進行定位叠纹。
(2)固定定位的元素不會隨瀏覽器窗口的滾動條滾動而變化,也不會受文檔流動影響敞葛,而是始終位于瀏覽器窗口內(nèi)視圖的某個位置誉察。
下面代碼讓輸入框位于瀏覽器窗口的底部。
<style>
input {
position: fixed;
bottom: 10px;
}
</style>
<ol>
<li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li>
<li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li>
<li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li>
<li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li><li>數(shù)據(jù)</li>
</ol>
<input type="text" />
可以看到不管滾動條如何滾動惹谐,輸入框始終處于窗口的最下方持偏。
圖片.png