1.position
静态定位static:默认定位,top、right、left、bottom这些不生效,按页面正常流进行排列。
绝对定位absolute:脱离文档流,不占位置,相对于父元素进行定位,如果父元素是static,就再向上找其他的父元素,直到找到position不是static的父元素为止,如果到了body还没找到,那么就相对于body进行定位。
相对定位relative:不脱离文档流,还是在那里占了位置,相对于自己原本的正常流位置进行定位。
固定定位fixed:脱离文档流,相对浏览器窗口进行定位,当滚动条滑动的时候,一直保持不变。
sticky定位:根据用户的滚动位置进行定位,相当于relative和fixed定位的结合。刚开始是relative定位,直到滚动到给定的偏移值的位置,就变成fixed定位,固定在那不动。
2.百分比参照谁?
- width、height是相对于父元素的宽高(但是absolute定位是相对于它第一个不是static的父元素或是body)
- padding、margin是相对于父元素的宽(但是absolute定位是相对于它第一个不是static的父元素或是body)
- top是相对于父元素的高,left、right是相对于父元素的宽(但是absolute定位是相对于它第一个不是static的父元素或是body)