点评:本文主要介绍了css的绝对定位的使用方法,大家参考使用吧
一.基本概念:bQrHTML5中文学习网 - HTML5先行者学习网
如果说相对定位没有脱离文档流,相对于对象本身进行偏移有点拖泥带水的话,那么绝对定位绝对是快刀斩乱麻,因为绝对定位可以使一个对象脱离正常的文档流,好像是漂浮在正常文档流的上空,并相对于包含此对象的元素进行定位,当然这个定位相对元素在不同的情况下也有所不同。bQrHTML5中文学习网 - HTML5先行者学习网
二.如何将一个元素设置为绝对定位:bQrHTML5中文学习网 - HTML5先行者学习网
为对象添加如下属性即可将对象设置为绝对定位:bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网
position:absolute; bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网或者
bQrHTML5中文学习网 - HTML5先行者学习网bQrHTML5中文学习网 - HTML5先行者学习网
position:fixedbQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网三.定位参考对象:bQrHTML5中文学习网 - HTML5先行者学习网
可以使用top属性和left属性设置绝对定位对象的偏移量。bQrHTML5中文学习网 - HTML5先行者学习网
绝对定位虽然脱离了文档流,但是也需要有定位的参考对象,不过在不同的情况下参考对象也是不同。bQrHTML5中文学习网 - HTML5先行者学习网
1.如果没有设置top或者left属性值,那么相应方位的定位参考对象就是此对象的一级父元素,代码实例如下:bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html> bQrHTML5中文学习网 - HTML5先行者学习网
<html> bQrHTML5中文学习网 - HTML5先行者学习网
<head> bQrHTML5中文学习网 - HTML5先行者学习网
<meta charset=" utf-8"> bQrHTML5中文学习网 - HTML5先行者学习网
<title>CSS的绝对定位-蚂蚁部落</title> bQrHTML5中文学习网 - HTML5先行者学习网
<style type="text/css"> bQrHTML5中文学习网 - HTML5先行者学习网
body bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
margin:20px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#grandfather bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:330px; bQrHTML5中文学习网 - HTML5先行者学习网
height:300px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:#F90; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#father bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:200px; bQrHTML5中文学习网 - HTML5先行者学习网
height:200px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:green; bQrHTML5中文学习网 - HTML5先行者学习网
margin-left:50px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#children bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:100px; bQrHTML5中文学习网 - HTML5先行者学习网
height:100px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:red; bQrHTML5中文学习网 - HTML5先行者学习网
float:right; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#inner bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:50px; bQrHTML5中文学习网 - HTML5先行者学习网
height:50px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:blue; bQrHTML5中文学习网 - HTML5先行者学习网
position:absolute; bQrHTML5中文学习网 - HTML5先行者学习网
top:10px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
</style> bQrHTML5中文学习网 - HTML5先行者学习网
</head> bQrHTML5中文学习网 - HTML5先行者学习网
<body> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="grandfather"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="father"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="children"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="inner"></div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</body> bQrHTML5中文学习网 - HTML5先行者学习网
</html>bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网以上代码中,由于inner元素采用绝对定位,并且没有设置left属性值,所以在水平方位的定位参考对象就是inner元素的一级父元素children。当然如果没有设置top属性值,那么垂直方位的定位参考对象也是children。bQrHTML5中文学习网 - HTML5先行者学习网
2.如果设置了left或者top属性值情况:bQrHTML5中文学习网 - HTML5先行者学习网
1).如果祖先元素中有采用定位的,那么此对象的相应方位的定位参考对象就是此祖先元素,如果祖先元素没有采用定位的,那么相应方位的上的定位参考对象就是浏览器客户区,代码实例如下:bQrHTML5中文学习网 - HTML5先行者学习网
实例一:bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html> bQrHTML5中文学习网 - HTML5先行者学习网
<html> bQrHTML5中文学习网 - HTML5先行者学习网
<head> bQrHTML5中文学习网 - HTML5先行者学习网
<meta charset=" utf-8"> bQrHTML5中文学习网 - HTML5先行者学习网
<title>CSS的绝对定位-蚂蚁部落</title> bQrHTML5中文学习网 - HTML5先行者学习网
<style type="text/css"> bQrHTML5中文学习网 - HTML5先行者学习网
body bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
margin:20px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#grandfather bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:330px; bQrHTML5中文学习网 - HTML5先行者学习网
height:300px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:#F90; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#father bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:200px; bQrHTML5中文学习网 - HTML5先行者学习网
height:200px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:green; bQrHTML5中文学习网 - HTML5先行者学习网
margin-left:50px; bQrHTML5中文学习网 - HTML5先行者学习网
position:relative; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#children bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:100px; bQrHTML5中文学习网 - HTML5先行者学习网
height:100px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:red; bQrHTML5中文学习网 - HTML5先行者学习网
float:right; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#inner bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:50px; bQrHTML5中文学习网 - HTML5先行者学习网
height:50px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:blue; bQrHTML5中文学习网 - HTML5先行者学习网
position:absolute; bQrHTML5中文学习网 - HTML5先行者学习网
left:10px; bQrHTML5中文学习网 - HTML5先行者学习网
top:10px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
</style> bQrHTML5中文学习网 - HTML5先行者学习网
</head> bQrHTML5中文学习网 - HTML5先行者学习网
<body> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="grandfather"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="father"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="children"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="inner"></div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</body> bQrHTML5中文学习网 - HTML5先行者学习网
</html>bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网以上代码,inner元素采用绝对定位,并且它的祖先元素father采用相对定位,那么它的定位参考对象就是father。
bQrHTML5中文学习网 - HTML5先行者学习网实例二:bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html> bQrHTML5中文学习网 - HTML5先行者学习网
<html> bQrHTML5中文学习网 - HTML5先行者学习网
<head> bQrHTML5中文学习网 - HTML5先行者学习网
<meta charset=" utf-8"> bQrHTML5中文学习网 - HTML5先行者学习网
<title>CSS的绝对定位-蚂蚁部落</title> bQrHTML5中文学习网 - HTML5先行者学习网
<style type="text/css"> bQrHTML5中文学习网 - HTML5先行者学习网
body bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
margin:20px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#grandfather bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:330px; bQrHTML5中文学习网 - HTML5先行者学习网
height:300px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:#F90; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#father bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:200px; bQrHTML5中文学习网 - HTML5先行者学习网
height:200px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:green; bQrHTML5中文学习网 - HTML5先行者学习网
margin-left:50px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#children bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:100px; bQrHTML5中文学习网 - HTML5先行者学习网
height:100px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:red; bQrHTML5中文学习网 - HTML5先行者学习网
float:right; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
#inner bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:50px; bQrHTML5中文学习网 - HTML5先行者学习网
height:50px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:blue; bQrHTML5中文学习网 - HTML5先行者学习网
position:absolute; bQrHTML5中文学习网 - HTML5先行者学习网
top:10px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
</style> bQrHTML5中文学习网 - HTML5先行者学习网
</head> bQrHTML5中文学习网 - HTML5先行者学习网
<body> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="grandfather"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="father"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="children"> bQrHTML5中文学习网 - HTML5先行者学习网
<div id="inner"></div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</body> bQrHTML5中文学习网 - HTML5先行者学习网
</html>bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网以上代码中,inner元素采用绝对定位,并且它的祖先元素没有采用定位的,那么垂直方位的定位参考对象就是窗口,由于没有设置left属性值,那么水平方位的定位参考对象就是它的一级父元素children。bQrHTML5中文学习网 - HTML5先行者学习网
四.绝对定位元素脱离文档流:bQrHTML5中文学习网 - HTML5先行者学习网
在开头已经提到过,绝对定位能够使元素脱离文档流,那么它周边文档流中的元素就能够占据此元素没有脱离文档流时的位置。bQrHTML5中文学习网 - HTML5先行者学习网
代码实例如下:bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html> bQrHTML5中文学习网 - HTML5先行者学习网
<html> bQrHTML5中文学习网 - HTML5先行者学习网
<head> bQrHTML5中文学习网 - HTML5先行者学习网
<meta charset=" utf-8"> bQrHTML5中文学习网 - HTML5先行者学习网
<title>CSS的绝对定位-蚂蚁部落</title> bQrHTML5中文学习网 - HTML5先行者学习网
<style type="text/css"> bQrHTML5中文学习网 - HTML5先行者学习网
div bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
text-align:center; bQrHTML5中文学习网 - HTML5先行者学习网
line-height:100px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
.father bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:400px; bQrHTML5中文学习网 - HTML5先行者学习网
height:400px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:green; bQrHTML5中文学习网 - HTML5先行者学习网
margin:50px; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
.first bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:100px; bQrHTML5中文学习网 - HTML5先行者学习网
height:100px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:red; bQrHTML5中文学习网 - HTML5先行者学习网
position:absolute; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
.second bQrHTML5中文学习网 - HTML5先行者学习网
{ bQrHTML5中文学习网 - HTML5先行者学习网
width:120px; bQrHTML5中文学习网 - HTML5先行者学习网
height:120px; bQrHTML5中文学习网 - HTML5先行者学习网
background-color:blue; bQrHTML5中文学习网 - HTML5先行者学习网
} bQrHTML5中文学习网 - HTML5先行者学习网
</style> bQrHTML5中文学习网 - HTML5先行者学习网
</head> bQrHTML5中文学习网 - HTML5先行者学习网
<body> bQrHTML5中文学习网 - HTML5先行者学习网
<div class="father"> bQrHTML5中文学习网 - HTML5先行者学习网
<div class="first">first</div> bQrHTML5中文学习网 - HTML5先行者学习网
<div class="second">second</div> bQrHTML5中文学习网 - HTML5先行者学习网
</div> bQrHTML5中文学习网 - HTML5先行者学习网
</body> bQrHTML5中文学习网 - HTML5先行者学习网
</html>bQrHTML5中文学习网 - HTML5先行者学习网
bQrHTML5中文学习网 - HTML5先行者学习网在以上代码中,由于first元素脱离文档流,所以second元素能够占据原来first元素本来应该占据的位置。bQrHTML5中文学习网 - HTML5先行者学习网