前端学习笔记5 | 青训营

51 阅读2分钟

定位 =定位模式+边偏移

  • 定位模式指定一个元素在文档中的定位方式。
  • 边偏移则决定该元素的最终位置。

定位模式:决定盒子的定位方式,通过position属性来设置,可以分为四个值: position: static(静态定位) position: relative(相对定位) position: absolute(绝对定位) position: fixed(固定定位)

边偏移:定位的盒子最终要移动的位置,分为 top、bottom、right、left四种 top: 距离父元素顶部的距离 bottom: 距离父元素底部的距离 right: 距离父元素右边的距离 left: 距离父元素左边的距离

position: static 静态定位

静态定位就是默认的定位方式,即无定位。

固定定位:position:fixed 相对于浏览器窗口 脱离文档流

固定定位特点:

  • 与父元素无关
  • 页面滚动不影响定位
  • 不占有位置

定义了一个粉色盒子,给它加上固定定位并设置了偏移量,尽管把浏览器放大缩小,或是把浏览器向下滑动,盒子始终在可视区定位的位置,而且也不占用空间,把 p 文字压住了。

Position:relative相对定位的特征

1、不影响元素本身的特征

2、不使元素脱离文档流(元素移动之后原始位置会被保留)

3、如果没有定偏移量,对元素本身没有任何影响

4、提升层级

Position:absolute 绝对定位

1、使元素完全脱离文档流

2、使内嵌支持宽高

3、块属性标签内容撑开宽度

4、相对于加了相对定位的父元素进行偏移,如果没有父元素或者父元素没有相对定位,相对document发生偏移。

5、提升层级

注意:Positon:fixed

相对浏览器的可视区域定性定位,脱离文档流,IE6不支持

  1. 相对定位:position:relative 相对于元素原来的位置,不脱离文档流。
  2. 绝对定位:position:absolute 相对于有定位的父元素或者祖先元素,如果都没有就相对于body,脱离文档流。