1、“position:absolute”是绝对定位的意思,单纯的使用absolute属性并不会其效果,需要配合“top bottom left right ”属性才能看到效果。首先需要新建一个html文件,这里定义了10个换行符,换行符的下面定义一个div:
2、此时保存文件,打开浏览器可以看到div在浏览器的下方位置,接下来来设置绝对定位,让div显示在任意位置:
3、给divc的class使用absolute属性, 并使用上下左右位置属性,设置向上和向左分别50px,接着保存文件:
4、再次打开浏览器,可以看到div的位置在浏览器上方,覆盖了换行符的位置:
绝对定位(absolute):
当一个DIV块的位置被定义为绝对定位的时候,也就意味着它失去了文档流的位置,后面的文档流会紧跟着补上来接替它的位置。如果上下左右的绝对偏移量都是零,那么它将漂浮在原来的位置上。否则就会以浏览器的上下左右四边为基准进行偏移。
相对定位(relative):
当设了相对的偏移量之后,这个DIV原来所占据的位置(文档流)不会被下面的DIV块挤占,而是空在那里;当偏移后向下或者向右的内容会被隐藏,而 这一点区别于绝对定位,绝对定位会出现滚动条。但是向左或者向右的内容超出当前浏览器的视线,无论是相对还是觉得定位,超出的部分都会被隐藏。
注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。
绝对定位(absolute):将被赋予此定位方法的对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,即还是遵循HTML定位规则的,则依据body对象左上角作为参考进行定位。绝对定位对象可层叠,层叠顺序可通过z-index属性控制,z-index值为无单位的整数,大的在最上面,可以有负值(目前负值FF不支持)。
绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
普通流中其它元素的布局就像绝对定位的元素不存在一样:
在一般的前端开发中比较常用的定位有三种:相对定位,绝对定位,固定定位。
下面简要的说明一下他们的使用特点:
相对定位position:relative 1.它可以在四个方向分别或者同时进行偏移
2.定义时它的参照物是父元素(没有时为浏览器本身)
3.偏移后元素的原来位置还是被占着,并没有空出来
4.当父元素和子元素同时定义时,他们的参照物是父元素,且占据原来的位置
绝对定位position:absolute 1. 它可以在四个方向分别或者同时进行偏移
2.单独定义时它的参照物是浏览器本身,且不占据原来的位置
3.当父元素和子元素同时定义时,他们的参照物是父元素,且不占据原来的位置
4.当子元素绝对定位,父元素相对定位时,他们的参照物是父元素,且还占据原来的位置
5.当子元素相对定位,父元素绝对定位时,他们的参照物是父元素,且不占据原来的位置
固定定位position:fixed 1.它可以在四个方向分别或者同时进行偏移
2.定义时它总是以浏览器为参照物,且不占据原来的位置
3.它不会随着浏览器的滚动而移动,即会固定在所能到观察浏览器界面的固定地方
注:普遍使用方式为子绝父相,即子元素绝对定位,父元素相对定位
可以使用z-index: 来进行优先级显示