定位布局
深入定位布局:
在css中定位和浮动是其两大布局方式,float虽然灵活,但是不好控制,定位虽然不灵活,但是可以让用户精确定位页面元素的位置。
在css中,定位布局一共有四个方法:
(1)固定定位(fixed)
(2)相对定位(relative)
(3)绝对定位(absolute)
(4)静态定位(static)(默认值)
使用定位注意以下几点:
(1)默认情况下,固定定位和绝对定位是相对于浏览器而言,相对定位是相对元素原始位置
(2)position一般配合top、right、left、bottom四个属性一起使用。只有定义了position属性(除static)之后,top、left、right、bottom才生效
(3)position:absolute会将元素转换为块元素
主要讨论前三种:
(1)相对定位 relative
a、不影响元素本身的属性
b、不使元素脱离文档流
c、提升层级
(2)绝对定位 absolute
a、会使元素脱离文档流
b、内容撑开宽度和高度
c、绝对定位和相对定位要配合使用
d、提升层级
z-index:数值;定位层级设置,数值越大,层级越高
e、使元素支持所有css样式
f、如果有定位父级,针对定位父级发生偏移,如果没有定位腹肌,针对document进行偏移
g、如果绝对定位的子级有浮动,可以省略清除浮动的操作
(3)固定定位
a、不兼容IE6
b、针对窗口进行定位
c、如果固定定位的自己有浮动,可以省略清除浮动的操作
z-index属性
虽然网页是平面的,但网页的结构是三维的,除了x轴、y轴还有z轴,z轴往往都是用来设置层的先后顺序
默认情况下,元素z-index通常是不激活的,也就是说通常情况下,z-index是无效的,z-index只有使用position属性(除了position:static)才管用。
属性值 | 说明 |
auto | 默认值,堆叠顺序与父元素相等 |
number | 可以为负数,0以及正整数 |
inherit | 规定应该从父元素继承z-index属性的值 |