网页中定位
定位有三种,分别是相对定位、绝对定位、固定定位。
相对定位:
position:relative;
绝对定位:
position:absolute;
固定定位:
position:fixed;
1.1)相对定位
相对定位,就是微调元素位置的。让元素相对自己原来的位置,进行位置调整。
相对定位的定位值
可以用left、right来描述盒子右、左的移动;
可以用top、bottom来描述盒子的下、上的移动。
也就是说,如果一个盒子想进行位置调整,那么就要使用相对定位
|
1.2) 不脱标,老家留坑,形影分离
相对定位不脱标,真实位置是在老家,只不过影子出去了,可以到处飘。
作用:
(1)位置的微调
相对定位,就是微调元素位置的。让元素相对自己原来的位置,进行位置调整。
不脱标,老家留坑,形影分离
(2)做绝对定位的参考,“子绝父相”
```
.parent{
width: 400px;
height: 400px;
background-color: skyblue;
margin-top: 20px;
/* 相对定位 */
position: relative;
}
.parent .son{
width: 150px;
height: 150px;
background-color: yellowgreen;
/* 绝对定位 */
position: absolute;
left: 0;
bottom: 0;
}
```
注意:四个拐角的设置
/* 绝对定位 */
position: absolute;
左上角
left: 0;
top: 0;
左下角
left: 0;
bottom: 0;
右上角
right: 0;
top: 0;
右下角
right: 0;
bottom: 0;
盒子水平,垂直居中,设置方法:
.parent .son{
width: 150px;
height: 150px;
background-color: yellowgreen;
/* 绝对定位 */
position: absolute;
left: 50%;
top: 50%;
margin-left: -75px;
margin-top: -75px;
}
绝对定位
绝对定位的盒子,是脱离标准文档流的。
绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要display:block;就可以设置宽、高了。
参考点
(1)没有父亲,参考点在页面的左上角
绝对定位的参考点,如果用top描述,那么定位参考点就是“页面的左上角”,而不是“浏览器的左上角”。
(2)有父亲,以盒子左上角为参考点
一个绝对定位的元素,如果父辈元素中出现了也定位了的元素,那么将以父辈这个元素,为参考点。
绝对定位的盒子居中
绝对定位之后,所有标准流的规则,都不适用了。所以margin:0 auto;失效。
width: 600px;
height: 60px;
position: absolute;
left: 50%;
top: 0;
margin-left: -300px; → 宽度的一半
非常简单,当做公式记忆下来。就是left:50%; margin-left:负的宽度的一半。
固定定位
固定定位,就是相对浏览器窗口定位。页面如何滚动,这个盒子显示的位置不变。
固定定位脱标!
(IE6不兼容。)
z-index
● z-index值表示谁压着谁。数值大的压盖住数值小的。
● 只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。而浮动的东西不能用。
● z-index值没有单位,就是一个正整数。默认的z-index值是0。
● 如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。
● 从父现象:父亲怂了,儿子再牛逼也没用。