相对于父元素的绝对定位

来源:互联网 发布:无毒cf刷枪软件 编辑:程序博客网 时间:2024/05/05 10:18

http://blog.sina.com.cn/s/blog_a2069648010109zm.html

这一段时间打算完全用CSS的DIV编写一个页面,做了两天思绪就有点乱了。

有的时候把某一个问题单独抽出来看感觉很简单。而复合起来就难的多,各种各样的问题就来了。
程序中最讨厌的就是找BUG了。思路前后衔接不上,捋不清头绪,看的头都大了。
家里有两个高手,不过却很少问。就像我的东西一定要从头到尾由我经手来做,那才是我的东西。呵呵~
****************************************
学习笔记:呵呵~~这次的笔记比较多
定位标签:position
包含的属性:relative(相对)与 absolute(绝对)

1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)
例如:#mybox{
position:relative;
left:20px;
top:20px;
}
效果就是使这个层向下和向左移动了20px。
2.position:absolute; 表示绝对定位,位置将依据浏览器左上角的0点开始计算,
绝对定位使元素与文档流无关,因此不占据空间。普通文档流中其这元素的布局就像绝对定位的元素不存在时一样。它相对于最近的已定位的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。根据用户代理的不同,最初的包含块可能是画布事HTML元素。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制这些框的堆放次序。z-index的值越高,框在堆中的位置就越高。)

那么有个问题产生了,现在大家做的网页大部分是居中的,那么我需要这个元素跟着网页

中的某个元素位置不论分辨率是多少他的位置始终是针对页内的某个元素的,那么单纯的

absolute是不行的。


正确的解决方法就是在元素的父级元素定义为position:relative;(更正:这里可以是祖父

级,也可以是position:absolute;)需要绝对定位的元素设为position:absolute;

这样再设定top,right,bottom,left的值就可以了,这样其定位的参照标准就是父级的左上角padding的左上侧!
0 0