定位主要分为三种种,一种是相对定位还有一种就是绝对定位,最后一种就是固定定位。
相对定位:
盒子根据自身本来的位置进项相对位置调整,就是相对定位。
相对定位的表示方法
相对定位可以用方向加上距离来表示。比如说:left:100px,代表的就是想右移动100像素,当然也可以理本身原来的位置在现在的位置的左边的100px,其实表示方向的top,bottom,left,right都是相反方向,当然数值可以使负数。
相对定位的性质
相对定位有留坑现象,可以把原来的位置当做坑,新的位置当做影子。
相对定位的用途:
1.进行微调元素本身的位置。 2.可以给绝对定位作为参考。(子绝父相)
绝对定位
盒子在浏览器中用坐标来进行精准的位置的描述,比如说top:100px left:100px 意思就是说距顶部100px并且距浏览器左侧100像素的位置。(当然这个坐标指的是盒子的左上角的位置)
绝对定位的表示方法:
绝对定位的表示方法和相对定位的表示方法基本还是那个是相同的。
绝对定位会脱离标准文档流
所谓的标准文档流指的就是,各种元素在不适用他的排列和定位相关的css规则时,各个元素的排列规则。 所以,绝对定位脱离标准文档流,就说不会给自己留坑。当自己设置为绝对定位的时候,会释放掉自己的位置。别的元素会挤到自己的位置之上,自己对其他元素进行压盖。(所以只要涉及到元素的压盖的话,就会用到绝对定位)
脱离标准文档流的方法:
主要是有三种:浮动,绝对定位,固定定位
绝对定位的参考盒子
(1)什么都不设置,就可以用浏览器作为基准点。(2)把父盒子设置为相对定位的话,就可以以父盒子作为基准点,当然父盒子也可以设置为绝对定位,但是用的比较少。
绝对定位设置垂直居中的方法:
分两个步骤来完成:(1)position:absolute;top:50% (2)martgin-top:-自身高度的一半。(注意是负值)
堆叠顺序用z-index属性来解决,谁的属性值越大,就在上面。
绝对定位的作用:
(1)对元素进行压盖效果 (2)结合css精灵来使用 (3)绝对那个定位可以结合js实现动画。
固定定位
不管页面怎么卷动,自身就固定在那个位置,不发生改变。用的是position:fixd;
绝对定位的表示方法
与相对定位和绝对定位相同
固定定位的注意事项:
(1)只能将浏览器的页面作为参考基准点 (2)脱离标准文档流。