定位流分类
1.相对定位
定义:相对于自己以前在标准中的位置来移动。
注意点:
1.相对定位是不会脱离标准流的,会继续在标准流中占用一份空间。
2.在相对定位中同一方向上的定位只能使用一个。
3.由于相对定位是不会脱离标准流的,所以相对定位是区分块级元素/行内元素/行内块级元素的。
4.由于相对是不会脱离标准流的,并且相对定位的元素会占用标准流的位置,所以当给相对定位的元素设置margin/paddingdeng属性时会影响到标准流的布局。
相对定位应用场景
1.用于对元素进行微调。
2.配合绝对定位来使用
2.绝对定位
定义:绝对定位是相对于body来定位的。
注意点:
1.绝对定位的元素会脱离标准流的。
2.绝对定位是不区分块级元素/行内元素/行内块级元素的。
绝对定位参考点:
规律:
1.默认情况下绝对定位的元素,无论有没有祖先元素(父元素,爷爷元素...),都会以body作为参考点
2.如果一个绝对定位有祖先元素,并且祖先元素也是定位流,那么这个绝对定位元素就会以定位流的那个祖先元素作为参考点。
2.1只要是这个绝对定位元素的祖先元素都可以。
2.2上面的定位流指的是绝对定位/相对定位/固定定位。
2.3 定位流中只有静态定位不可以作为定位流来定位。
3.如果一个绝对定位的元素有多个祖先元素,并且祖先元素有多个元素都是定位流,那么那个绝对定位的元素就会以离它最近的那个定位流的祖先元素作为参考点。
注意点:
1.如果一个绝对定位的元素时以body作为参考点,那么其实是以网页首屏的宽度和高度作为参考点,并不是以整个网页的宽度和高度作为参考点的。
2.一个绝对定位的元素会忽略祖先元素的padding
如何让绝对定位的元素水平居中?
1.只需要设置绝对定位元素的left:50%;
2.然后设置绝对定位元素的margin-left:-元素宽度的一半px;
固定定位:
1.背景定位可以让背景图片不随着滚动条的滚动而滚动,而固定定位可以让某个盒子不随着滚动条的滚动而滚动。
注意点:
1.固定定位的元素是脱离标准流的,不会占用标准流中的空间
2.固定定位和绝对定位一样不区分行内元素/块级元素。