一.基础
1.为什么要用定位
由于很多布局通过标准流和浮动来实现是很困难的;定位可以让盒子在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子
2.定位的四种分类
定位 | 描述 | 备注 |
---|---|---|
static | 静态定位 | 静态定位按照标准流特性摆放位置,它没有边偏移,静态定位在布局时很少用到 |
relative | 相对定位 | 相对于自己本身的位置移动;元素本身在文档流中的占位不变 |
absolute | 绝对定位 | 绝对定位是元素在移动位置的时候,是相对于它祖先元素来说的,如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位绝对定位不占用原来的位置(脱标) |
fixed | 固定定位 | 固定定位是元素固定于浏览器可视区的位置。主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。以浏览器的可视窗口为参照点移动元素,跟父元素没有任何关系;不随着滚动条滚动;固定定位不占用原来的位置(脱标) |
4.为什么常用子绝父相
因为父级需要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位
5.显示隐藏的两种方式和区别
属性 | 描述 |
---|---|
display | none,隐藏,不再占有原来的位置 |
visibility | visible,hidden,隐藏后继续占有原来的位置 |
overflow | hidden,auto,visible,scroll |
二.面试题
1.主要就是各个定位的特点
2.z-index数值越大元素越向外排列