传智博客
快捷导航
蚂蚁部落
蚂蚁部落 网站首页 实例代码 CSS实例 查看内容

position绝对定位以哪个对象为参考

2017-11-1 22:28| 发布者: admin| 查看: 87| 评论: 0|来自: 蚂蚁部落

既然是定位,那么肯定就有参考对象,否则就无所谓定位了。

下面先看一个例子: 

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css"> 
.parent{ 
  width:300px; 
  height:200px; 
  border:1px solid red; 
} 
.children{ 
   width:200px; 
   height:100px; 
   background-color:green; 
   position:absolute; 
   top:50%; 
   left:50%; 
} 
</style> 
</head> 
<body> 
<div class="parent"> 
<div class="children"></div> 
</div> 
</body> 
</html>

可能在我们第一理解中,绝对定位的参考对象是父对象,但是从上面代码的表现来看并非如此,上面代码中子对象绝对定位的参考对象是浏览器客户区。

下面我们修改一下代码: 

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>蚂蚁部落</title> 
<style type="text/css"> 
.parent{ 
  width:300px; 
  height:200px; 
  border:1px solid red; 
  position:relative; 
} 
.children{ 
  width:200px; 
  height:100px; 
  background-color:green; 
  position:absolute; 
  top:50%; 
  left:50%; 
} 
</style> 
</head> 
<body> 
  <div class="parent"> 
  <div class="children"></div> 
</div> 
</body> 
</html>

在父对象中加上position:relative后,子对象的绝对定位参考对象即为父对象,其实只要父对象的定位方式不是static,那么子对象的绝对定位方式都会是父对象,否则参考对象就是浏览器客户区。更多相关内容可参阅绝对定位一章节。

注意:这里所说的窗口大家不要误认为是body,而是body的容器html,如果清除body的外边距的话,body就好像是浏览器客户区。


鲜花

握手

雷人

路过

鸡蛋

最新评论

关于我们|手机版|小黑屋| ( 鲁ICP备10022556号-3 )

GMT+8, 2017-11-19 20:22 , Processed in 0.070190 second(s), 22 queries .

Powered by Discuz! X3.2 Licensed

Copyright © 2012-2017 Design: 蚂蚁部落

返回顶部