元素的定位

2018-11-05  本文已影响0人  锋享前端

今天说一下我们在网页中经常使用到的属性:定位;

下面说说定位的定义: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 的对象。

童鞋们可能通过这篇文章你不会完全明白;这是需要练习的;多找一些案例来练习就会运用游刃有余。

上一篇下一篇

猜你喜欢

热点阅读