定位
定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照移动的方式定位盒子。
值 | 语义 |
static | 静态定位 |
relative | 相对定位 |
absolute | 绝对定位 |
fixed | 固定定位 |
相对定位:
相对定位是元素在移动位置的时候,是相对于它原来的位置来说的
语法:
选择器:{position:relative;}
相对定位特点:
1、它是相对于自己原来的位置来移动的(移动位置的时候是参照自己原来的位置)。
2、原来在标准流的位置继续占有,后面的盒子仍然以标准流的盒子对待它(不脱标,继续保留原来的位置)
绝对定位:
绝对定位是元素在移动的时候,是相对于它祖先元素来说的
语法:
选择器:{position:absolute}
特点:
1、如果没有祖先元素或者祖先元素没有设置定位,则以浏览器为准定位(document文档)
2、如果祖先元素有定位,则以最近一级的有定位祖先元素为参考点移动位置
3、绝对定位不占有原来的位置(脱标)
子绝父相的由来:
这句话的意思是:子元素用绝对定位,父亲元素用相对定位。因为父级需要占有位置,所以使用相对定位,而子级不需要占有位置所以用绝对定位
固定定位:
固定定位是元素固定于浏览器可视区的位置,主要使用场景:可以在浏览器页面滚动时元素的位置不改变
语法:
选择器:{position:fixed}
特点:
1、以浏览器的可是窗口为参照点移动元素
2、脱标,不占有原来的位置
下面介绍两个常用定位的小技巧
固定在版心右侧位置:
1、让固定的盒子left:50%.
2、让固定的盒子margin-left:版心宽度的一半距离,多走版心宽度的一半位置。
让绝对定位的盒子居中:(对绝对定位的盒子设置margin值时无效的)
1、left:50%
2、margin-left::让盒子移动自身宽度的一半