对position的理解

作者:zccst

先看看手册

描述

absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static

默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

inherit

规定应该从父元素继承 position 属性的值。

 

1,relative

相对自己以前的位置偏移。

设置了top和left后,元素没有脱离文档流,仍然占用原来的位置。

 

2,absolute

脱离文档流,不再占用原来的位置。

 

1.首先不要用层叠这个词,容易把关系搞混 
2.absolute是受parentNode的position影响的 
  parentNode的position不是relative,那absolute的绝对对象是针对body的 
  parentNode的position  是relative,那absolute的绝对对象是针对parentNode的 
  也就是说absolute的绝对是有参照Node的 
3.对于复杂的position关系,要从parentNode的position的设置逐次的推下来 
4.relative的node的尺寸会影响parentNode的尺寸,也就是说relative即定位也占位 
  absolute的node的尺寸不影响parentNode的尺寸,也就是说absolute只定位不占位 
5.z-index只对absolute的node有效

 

几个更深入的问题:

问:如果即设置了left又设置了right,到底以哪个位置呢?

答:以left位置。同理top和bottom,以bottom为准。

例子:

<style type="text/css">
body {  
 margin:0px;  
 font-size: 9pt;  
 line-height:12pt;  
 margin-top: 150px;  
 margin-left: 150px;  
}  
.box1 {  
 background-color: #33CCFF;  
 width: 200px;  
 height: 200px;  
}  
.box2 {  
 background-color: #CC99FF;  
 height: 100px;  
 width: 100px;  
 position:relative;  
 right:200px;/*此值总被认为是-left=-10px,所以你怎么改它都不会影响到布局*/  
 left:10px;/*这里设定了两个定位值,但是它们是矛盾的,所以此时将以左边为准,如果是上下类型错误,则以上边定位数值为准*/  
  
}  
</style>
<script type="text/javascript">  

</script>
</head>
<body>

<div class="box1">  
  <div class="box2"></div>  
</div> 

 

  

 

 

<style type="text/css">  
<!--  
*{  
 margin:0px;  
 padding:0px;  
}  
body {  
 margin:10px;  
 font-size: 13px;  
}  
a:link {  
 color: #666;  
 text-decoration: none;/*去除链接下划线*/  
}  
a:visited {  
 color: #666;  
 text-decoration: none;  
}  
a:hover {  
 color: #F90;  
}  
h3 {  
 color: #FFF;  
 background-color: #F90;  
 width: 100px;  
 padding-top:3px;  
 text-align:center;  
}  
ul {  
 width: 300px;  
 border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/  
}  
ul li {  
 padding:5px;  
 border-bottom: 1px solid #CCC;  
 list-style:none;/*去除列表样式,这对于标准浏览很重要*/  
}  
a {  
 position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/  
 display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/  
}  
a div {  
 display: none;/*初始化信息面板不显示*/  
}  
a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/  
a:hover div {  
 position: absolute;  
 padding:5px;  
 display:block;  
 width: 245px;/*只给出宽度,高让它随内容多少自动调整*/  
 left:150px;/*这是相对父级A的定位*/  
 top: 20px;  
 border: 1px solid rgb(91,185,233);  
 background-color: rgb(228,246,255);  
 z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/  
}  
a img {  
 width:80px;  
 height:80px;  
 border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/  
 display:block;  
 position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/  
 top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/  
 left:5px;  
}  
dl {  
 width: 160px;  
 float:right;  
 color: #999;  
 line-height:20px;  
}  
dl dd span {  
 font-weight: bold;  
 color: #639;  
}  
-->  
</style>  
</head>  
  
<body>  
<h3>最新单曲</h3>  
<ul>  
  
<li><a href="#">01 爱的文身 黄圣依<div><img src="http://imgcache.qq.com/music/photo/singer/54/singerpic_5554_0.jpg" alt="" />  
<dl>  
 <dd><span>歌名:</span>爱的文身</dd>  
 <dd><span>歌手:</span>黄圣依</dd>  
 <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd>  
</dl></div></a></li>  
  
<li><a href="#">02 累了 阿信<div><img src="http://imgcache.qq.com/music/photo/singer/47/singerpic_6547_0.jpg" alt="" />  
<dl>  
 <dd><span>歌名:</span>累了</dd>  
 <dd><span>歌手:</span>阿信</dd>  
 <dd><span>介绍:</span>青春校园偶像剧----【熱情仲夏】片尾曲</dd>  
</dl></div></a></li>  
  
<li><a href="#">03 漫漫 慢慢 阿朵<div><img src="http://imgcache.qq.com/music/photo/singer/61/singerpic_6361_0.jpg" alt="" />  
<dl>  
 <dd><span>歌名:</span>漫漫 慢慢</dd>  
 <dd><span>歌手:</span>阿朵</dd>  
 <dd><span>介绍:</span>阿朵抢听版最新单曲《漫漫 慢慢》让你认识阿朵柔情的一面,展现阿朵百变的风格。</dd>  
</dl></div></a></li>  
  
<li><a href="#">04 我怀念的 孙燕姿<div><img src="http://imgcache.qq.com/music/photo/singer/9/singerpic_109_0.jpg" alt="" />  
<dl>  
 <dd><span>歌名:</span>我怀念的</dd>  
 <dd><span>歌手:</span>孙燕姿</dd>  
 <dd><span>介绍:</span>令人感同身受的抒情歌,在故事性的架构中,有着平凡但又能扣人心弦的情感,是一首高度共鸣的抒情歌。</dd>  
</dl></div></a></li>  
  
<li><a href="#">05 听,花期越来越近 后弦<div><img src="http://imgcache.qq.com/music/photo/singer/33/singerpic_4733_0.jpg" alt="" />  
<dl>  
 <dd><span>歌名:</span>花期越来越近</dd>  
 <dd><span>歌手:</span>后弦</dd>  
 <dd><span>介绍:</span>后弦参与《花开的声音》这个舞台剧里的一部分,邀请了后弦去演唱这首歌,此歌就是为舞台剧《花开的声音》而创作。</dd>  
</dl></div></a></li>  
  
</ul>  

 

posted @ 2014-04-03 19:26  走走停停走走  Views(360)  Comments(0Edit  收藏  举报