元素的定位
今天说一下我们在网页中经常使用到的属性:定位;
下面说说定位的定义:position属性:定义建立元素布局所用的定位机制。看完这定义你们是不是和我一样一脸懵逼,十脸懵逼,百脸懵逼······
定位是什么呢?我们课以这么认为:定位就是你想让元素在页面的什么位置上就把他用属性定位到哪里!下面我们说书定位的语法:
语法:{position:static/absolute/relative/fixed;}
那这些个属性值是什么意思呢?童鞋们继续看:
说明:
static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
absolute:生成绝对定位的元素,相对于第一个有定位属性的父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
特点:元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
relative :生成相对定位的元素,相对于其正常位置进行定位。元素的位置同样是通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
特点:相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。元素框偏移某个距离。元素仍保持其未定位前的形状,仍保留原本所占的空间。
fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置同样是通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
好了我们来总结一下:
通常我们使用position:absolute;position:relative进行绝对定位布局,通过CSS进行定义定位,DIV布局HTML,注意什么地方使用position:relative,什么地方使用position:absolute进行定位,同时不要忘记使用left、right、top、bottom的配合定位具体位置。绝对定位如果父级不使用position:relative,而直接使用position:absolute绝对定位,这个时候将会以body标签为父级,使用position:absolute定义对象无论位于DIV多少层结构,都将会被拖出以body为父级(参考级)进行绝对定位。绝对定位非常好用,但切记不要滥用,什么地方都用,这样有时会懒得计算距离上、下、左、右[间距],同时可能会造成[CSS代码]臃肿,适当使用,用于该使用地方。
在绝对定位时候我们可以使用css z-index定义css层重叠顺序;
z-index属性:检索或设置对象的层叠顺序
语法:{z-index:auto/number;}
说明:
auto:默认值。遵从其父对象
number:无单位的整数值。可为负数
较大 number 值的对象会覆盖在较小 number 值的对象之上。如两个绝对定位对象的此属性具有同样的 number 值,那么将依据它们在HTML文档中声明的顺序层叠。
此属性仅仅作用于 position 属性值为 relative 或 absolute 的对象。
童鞋们可能通过这篇文章你不会完全明白;这是需要练习的;多找一些案例来练习就会运用游刃有余。