**
1.定位流分类
- 1.1 相对定位 relative
1.2 绝对定位 absolute
1.3 固定定位 fixed
1.4 静态定位 static(默认)
2. 什么是相对定位?
相对定位就是相对于自己以前在标准流中的位置来移动。
3.相对定位注意点
- 3.1 相对定位是不脱离标准流的,会继续在标准流中占用一份空间;
3.2 在相对定位中同一个方向上的定位属性只能使用一个;
3.3 由于相对定位是不脱离标准流的,所以在相对定位中是区分 块级/行内/行内块级元素的;
3.4 由于相对定位是不脱离标准流的,并且相对定位的元素会占用标准流中的位置,所以给相对定位元素设置margin/padding等属性的时候会影响到标准流的布局(也就是margin/padding等元素是设置在没有定位以前的元素位置上的)
- 4.相对定位应用场景
- 4.1 用于对元素进行微调
4.2 配合绝对定位使用
什么是绝对定位?
·默认情况下,所有绝对定位的元素,无论有没有祖先元素,都是相对于body进行定位;
·如果有祖先是定位流(除static外),那么绝对定位元素就相对其最近的是定位流元素的祖先进行定位;
绝对定位注意点
- ·绝对定位脱离标准流; ·绝对定位的元素是不区分 块级/行内/行内块级元素的(都可设置宽高);
·如果绝对定位元素以body作为参考点,那么其实是以网页首屏的宽度和高度作为参考点,而不是以整个网页作为参考点;
·padding内不盛放子元素,但一个绝对定位的元素会忽略祖先元素的padding; 固定定位注意点:
·固定定位元素是脱离标准流的,不会占用标准流中的空间; ·固定定位和绝对定位一样不区分inline/block/inline-block;
注意点:
1.默认情况下定位流的元素会盖住标准流的元素;
2.默认情况下定位流的元素后面编写的会盖住前面编写的
3.从父现想
- 3.1 如果两个元素的父元素都没有设置z-index属性,那么谁的z-index值大,谁就显示在上面;
3.2 如果两个元素的父元素设置了z-index属性,那么子元素的z-index属性就会失效,也就是说谁的父元素的z-index大,谁就显示在上面;