值 | 描述 |
---|---|
absolute | 生成絕對定位的元素,相對于static定位以外的第一個父元素進(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"會向元素的left位置添加20像素先馆。 |
static | 默認(rèn)值。沒有定位躺彬,元素出現(xiàn)在正常流中(忽略top煤墙,bottom,left宪拥,right及z-index聲明) |
inherit | 規(guī)定從父元素繼承position屬性的值 |
如下是對position五個屬性的解釋:
值 | 描述 |
---|---|
absolute | 生成絕對定位的元素仿野,相對于static定位以外的第一個父元素進(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"會向元素的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) 定位退客】ト冢可以選取具有定位的父級對象(下文將說到relative與absolute的結(jié)合使用)或者body坐標(biāo)原點(diǎn)進(jìn)行定位,也可以通過z-index進(jìn)行層次分級萌狂。absolute在沒有設(shè)定TRBL值時是根據(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è)置TRBL是以父級對象的坐標(biāo)為原點(diǎn))误趴,即將div1改成如下代碼時:
.div1{
width:200px;
height:200px;
background:#0099FF;
/*沒有設(shè)定TRBL*/
position:absolute;
}
則效果如下:
image.png
relative(相對定位)
relative是相對的意思,顧名思義就是相對于元素本身在文檔中應(yīng)該出現(xiàn)的位置來移動這個元素务傲,可以通過TRBL來移動元素的位置凉当,實(shí)際上該元素依然占據(jù)文檔中原有的位置枣申,只是視覺上相對原來的位置有移動。具體案例如下:
<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