相对定位的百分比小议~

w3school.com.cn里对相对定位如下描述:
CSS 相对定位 相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。 如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方。如果 left 设置为 30 像素,那么会在元素左边创建 30 像素的空间,也就是将元素向右移动。
对此比较容易理解,但当top的值为百分比时就会如下解析:直接对父元素计算百分比,即此时绝对定位和相对定位时,top值百分比计算是相同的。但原点不同,position是定义定位原点的,百分比是基于父容器的长宽计算的。并非相对定位时就基于自己计算百分比的。 如下示例:
百分比的计算实际如下,与绝对还是相对定位无关:
  • top,bottom:基于父容器的高;
  • left,right:基于父容器的宽;
  • margin-top,margin-right,margin-bottom,margin-left:基于父容器的宽;
  • padding-top,padding-right,padding-bottomm,padding-left:基于父容器的宽;
  • border:哈哈不允许如此拉,似乎~
定位计算如下:
  • absolute:原点定在有定位的父容器左上角;
  • relative:原点定在元素本身原有位置的左上角;
浮动计算如下:
  • left:起始浮动点在元素本身所在位置最可能的左边;
  • right:起始浮动点在元素本身所在位置最可能的右边;
可结合这篇文章:http://blog.idea5.org/css-position.html
posted @ 2011-04-19 00:07  Defims  阅读(651)  评论(0编辑  收藏  举报