| 值 | 描述 |
|---|---|
| absolute | 生成絕對定位的元素,相對于static定位以外的第一個(gè)父元素進(jìn)行定位。元素的位置通過"left""top""right"以及"bottom"屬性進(jìn)行規(guī)定。 |
| fixed | 生成絕對定位的元素,相對于瀏覽器窗口進(jìn)行定位。元素的位置通過"left""top""right"以及"bottom"屬性進(jìn)行規(guī)定。 |
| relative | 生成相對定位的元素,相對于洽談?wù)N恢眠M(jìn)行定位。因此,"left: 20"會(huì)向元素的left位置添加20像素。 |
| static | 默認(rèn)值。沒有定位,元素出現(xiàn)在正常流中(忽略top,bottom,left,right及z-index聲明) |
| inherit | 規(guī)定從父元素繼承position屬性的值 |
如下是對position五個(gè)屬性的解釋:
| 值 | 描述 |
|---|---|
| absolute | 生成絕對定位的元素,相對于static定位以外的第一個(gè)父元素進(jìn)行定位。元素的位置通過"left""top""right"以及"bottom"屬性進(jìn)行規(guī)定。 |
| fixed | 生成絕對定位的元素,相對于瀏覽器窗口進(jìn)行定位。元素的位置通過"left""top""right"以及"bottom"屬性進(jìn)行規(guī)定。 |
| relative | 生成相對定位的元素,相對于洽談?wù)N恢眠M(jìn)行定位。因此,"left: 20"會(huì)向元素的left位置添加20像素。 |
| static | 默認(rèn)值。沒有定位,元素出現(xiàn)在正常流中(忽略top,bottom,left,right及z-index聲明) |
| inherit | 規(guī)定從父元素繼承position屬性的值 |
其中absolute和relative是最常用的,fixed用的也比較多。
1.absolute(絕對定位)
absolute是生成覺對定位的元素,脫離了文本流(即在文檔中已經(jīng)不占據(jù)位置),參照瀏覽器的左上角通過top,right,bottom,left(簡稱TRBL) 定位??梢赃x取具有定位的父級對象(下文將說到relative與absolute的結(jié)合使用)或者body坐標(biāo)原點(diǎn)進(jìn)行定位,也可以通過z-index進(jìn)行層次分級。absolute在沒有設(shè)定TRBL值時(shí)是根據(jù)父級對象的坐標(biāo)作為始點(diǎn)的,當(dāng)設(shè)定TRBL值后則根據(jù)瀏覽器的左上角作為原始點(diǎn)。具體案例如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>position:absolute定位</title>
<style type="text/css">
html,body,div{
margin:0;
padding:0;
list-style:none;
}
.center{
margin:30px;
border:#999999 solid 10px;
width:400px;
height:300px;
}
.div1{
width:200px;
height:200px;
background:#0099FF;
/*設(shè)定TRBL*/
position:absolute;
left:0px;
top:0px;
}
.div2{
width:400px;
height:300px;
font-size:30px;
font-weight:bold;
color:#fff;
background:#FF0000;
}
</style>
</head>
<body>
<div class="center">
<div class="div1"></div>
<div class="div2">position:absolute定位測試</div>
</div>
</body>
</html>
這段代碼產(chǎn)生的效果如下

image.png
這是設(shè)定TRBL之后的效果(設(shè)置TRBL以瀏覽器左上角為原點(diǎn)),當(dāng)沒有設(shè)置TRBL時(shí)(沒有設(shè)置TRBL是以父級對象的坐標(biāo)為原點(diǎn)),即將div1改成如下代碼時(shí):
.div1{
width:200px;
height:200px;
background:#0099FF;
/*沒有設(shè)定TRBL*/
position:absolute;
}
則效果如下:

image.png
relative(相對定位)
relative是相對的意思,顧名思義就是相對于元素本身在文檔中應(yīng)該出現(xiàn)的位置來移動(dòng)這個(gè)元素,可以通過TRBL來移動(dòng)元素的位置,實(shí)際上該元素依然占據(jù)文檔中原有的位置,只是視覺上相對原來的位置有移動(dòng)。具體案例如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>position:relative定位</title>
<style type="text/css">
html,body,div{
margin:0;
padding:0;
list-style:none;
}
.center{
margin:30px;
border:#999999 solid 10px;
width:400px;
height:300px;
background:#FFFF00;
}
.div1{
width:200px;
height:150px;
background:#0099FF;
position:relative;
top:-20px;
left:0px;
}
.div2{
width:400px;
height:150px;
font-size:30px;
font-weight:bold;
color:#fff;
background:#FF0000;
}
</style>
</head>
<body>
<div class="center">
<div class="div1"></div>
<div class="div2">position:relative定位測試</div>
</div>
</body>
</html>
代碼產(chǎn)生的效果如下:

image.png