定位的基本使用方法和属性

187 阅读2分钟

- 一.定位的作用:

  • 定位可以让盒子任意摆放位置,一般用于盒子与盒子中的层叠效果.

- 二.定位的属性:

  • 属性名position:绝对定位absolute,相对定位relative,固定定位fixed,静态定位static.
  • 偏移值:上下左右方位名词+数值px.水平和垂直各取一个.
  • 示意图:

Snipaste_2022-12-15_14-20-34.png

- 三.定位的使用方法:

- 1.静态定位:
  • 1.可以理解为标准流,设置偏移值是无效的.
- 2.相对定位:
  • 1.需要配合偏移值进行使用.
  • 2.相对于自身原来的位置进行移动.
  • 3.在页面中占位置,没有脱标.
  • 应用场景:配合绝对定位进行使用(子绝父相).
- 3.绝对定位:
  • 1.需要配合偏移值进行使用.
  • 2.默认相对于浏览器的可视区域移动位置.
  • 3.在页面中不占位置,脱标.
  • 绝对定位默认相对于浏览器的可视区域进行移动.
  • 如果祖上元素都设有定位,就相对于最近一级进行移动.
- 4.固定定位:

用于固定在浏览器页面上,不随浏览器的滚动而改变位置;使用了固定定位后,元素会一直固定在页面的某一个位置!

- 四.子绝父相:

  • 子元素使用绝对定位,父元素使用相对定位.
  • 让子元素相对于父元素进行自由移动.

- 五.子绝父绝:

  • 父元素设置绝对定位,子元素设置绝对定位就可以.

- 六.实现绝对定位的盒子水平垂直居中:

  • 先定义子盒子为绝对定位,父盒子为相对定位.(子绝父相)
  • 再让子盒子向右移动父盒子的一半,让子盒子往下移动父盒子的一半.
  • left:50%;top:50%;
  • 最后让子盒子向左移动自身宽度的一半,让子盒子往上移动自身高度的一半.
  • margin-left:xxx; margin-top:xxx; (取负值)

- 实现绝对定位的盒子水平垂直居中优化做法:

  • 1.先定义盒子为子绝父相
  • 2.left:50%;top:50%;
  • 3.transform:translate(-50%,-50%);
  • (优化做法:使用transform位移,位移的取值为百分比时是以自身为参照进行移动,盒子即使改变大小也不影响盒子的位置!)