定位也是用来布局的,它有俩部分组成:
定位=定位模式+边偏移
边偏移
简单说,我们定位的盒子,是通过边偏移来移动位置的。
在CSS中,通过top、bottom、left和right属性定义元素的边偏移
top:顶端偏移量,定义元素相对于其父元素上边线的距离
bottom:底部偏移量,定义元素相对于其父元素下边线的距离
left:左侧偏移量,定义元素相对于其父元素左边线的距离
right:右侧偏移量,定义元素相对于其父元素右边线的距离
定位的盒子有了偏移才有价值。一般情况下,凡是有定位地方必定有边偏移
定位模式(position)
在CSS中,通过position属性定义元素的定位模式,语法如下:
选择器{position:属性值;}
定位模式是有不同分类的,在不同情况下,我们用到不同的定位模式
值 | 语义 |
static | 静态定位 |
relative | 相对定位 |
absolute | 绝对定位 |
fixed | 固定定位 |
静态定位(static)
静态定位是元素的默认定位方式,无定位的意思。它相当于border里面的none,不要定位的时候用。
静态定位 按照标准流特性摆放位置,它没有边偏移
静态定位在布局时几乎不用
相对定位(relative)
特点:
相对于自己原有在标准流中位置来移动
原来在标准流的区域继续占有,后面的盒子仍然以标准流的方式显示
绝对定位(absolute)
1、完全脱标——完全不占位置
2、父元素没有定位,则以浏览器为准定位(Document文档)
3、父元素有定位(position:relative)以父级的左上角为基点
4、将元素依据最近的已经定位(绝对、固定或相对)的父元素进行定位
固定定位(fixed)
1、完全脱标——完全不占位置
2、只认浏览器的可是窗口——浏览器可是窗口+边偏移属性来设置元素的位置;
● 跟父元素没有任何关系
● 不随滚动条滚动
堆叠顺序(z-index)
在使用定位布局时,可能会出现盒子重叠的情况
加了定位的盒子,默认后来者居上,后面的盒子会压住前面的盒子
应用z-index层叠等级属性可以调整盒子的堆叠顺序
z-index特性:
1、属性值:正整数、负整数或0,默认值是0,数字越大,盒子越靠上
2、如果属性值相同,则按照书写顺序,后来者居上
3、数字后面不能加单位
注意:z-index只能应用于相对定位、绝对定位和固定定位的元素,其他标准流、浮动和静态定位无效