語法:
position:static | relative | absolute | fixed | center | page | sticky
默認值:static
適用於:除display屬性定義爲table-column-group | table-column之外的所有元素
繼承性:無
動畫性:否
計算值:指定值
媒體:視覺
取值:
static: 對象遵循常規流。此時4個定位偏移屬性不會被應用。
relative: 對象遵循常規流,並且參照自身在常規流中的位置通過top,right,bottom,left這4個定位偏移屬性進行偏移時不會影響常規流中的任何元素。
absolute: 對象脫離常規流,此時偏移屬性參照的是離自身最近的定位祖先元素,如果沒有定位的祖先元素,則一直回溯到body元素。盒子的偏移位置不影響常規流中的任何元素,其margin不與其他任何margin摺疊。
fixed: 與absolute一致,但偏移定位是以窗口爲參考。當出現滾動條時,對象不會隨着滾動。
center: 與absolute一致,但偏移定位是以定位祖先元素的中心點爲參考。盒子在其包含容器垂直水平居中。(CSS3)
page: 與absolute一致。元素在分頁媒體或者區域塊內,元素的包含塊始終是初始包含塊,否則取決於每個absolute模式。(CSS3)
sticky: 對象在常態時遵循常規流。它就像是relative和fixed的合體,當在屏幕中時按常規流排版,當捲動到屏幕外時則表現如fixed。該屬性的表現是現實中你見到的吸附效果。(CSS3) * CSS3新增屬性可能存在描述錯誤及變更,僅供參考,持續更新
說明:
檢索對象的定位方式。
當position的值爲非static時,其層疊級別通過z-index屬性定義。
絕對定位的元素,在top,right,bottom,left屬性未設置時,會緊隨在其前面的兄弟元素之後,但在位置上不影響常規流中的任何元素。用這個特性你或許會幹這樣的事:demo
對應的腳本特性爲position。
示例:
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>position_CSS參考手冊_web前端開發參考手冊</title>
<meta name="author" content="https://www.4s5.cn/" />
<style>
#position {
position: absolute;
top: 50%;
left: 50%;
width: 150px;
height: 40px;
margin: -20px 0 0 -75px;
padding: 0 10px;
background: #eee;
line-height: 2.4;
}
</style>
</head>
<body>
<div id="position">水平垂直居中的對象</div>
</body>
</html>使用
使用過程中,如果是單獨的盒子裏的某個元素需要定位,那麼先將這個盒子的定位設置爲relative,然後再將裏面的元素設置爲absolute定位,這樣就可以使裏面的元素相對於自己的父盒子來定位了