CSS定位的理解

定位的理解

通过定位可以将元素摆放到页面的任意位置

使用postion属性来设置定位(特点不影响其他元素)

可选值:

  • static 默认值,元素是精致的没有开启定位
  • relative 开启相对定位
  • absolute 开启元素的绝对定位
  • fixed 开启元素的固定定位
  • sticky 开启元素的粘滞定位

相对定位特点(参照物就是原本的位置):relative

  • 设置相对定位之后如果不设置偏移量不会发生任何变化(偏移量有 top ,right,left,bottom)
  • 相对定位会提升元素的层级
  • 不会使元素脱离文档流
  • 不改变元素的性质

绝对定位 特点:absolute

  • 开启绝对定位不设置偏移量元素位置不变
  • 会从文档流中脱离
  • 绝对定位改变元素性质(行内变成块,块的宽高被内容撑开)
  • 提升一个层级
  • 相对于其包含块进行定位的( 包含块就是离当前元素最近的祖先元素
    • 绝对定位的包含块就是离他最近的开启定位的祖先元素
    • 如果所有的祖先元素都没有开启定位就看根元素

固定定位 :fixed

固定定位也是一种绝对定位,所以大部分特点都绝对定位一样

唯一不同的是固定定位永远参照浏览器的视口进行定位

固定定位不会根据滚动条滚动来滚动

粘滞定位 :sticky(IE浏览器不兼容)

粘滞定位和相对定位的特点相对一致

但是当到达某个位置的时候就不动了(想对于body)

元素的层级

对于开启了定位的元素,可以通过z-index属性来指定元素的层级

z-index需要一个证书作为参数,值越大元素的层级越高,元素层级越高越优先显示

如果元素层级一样,则优先显示向下的

使用定位达成水平居中
postion:absolute;
left:0;
right:0;
margin-left:auto;
margin-right:auto;
垂直居中同理
postion:absolute;
top:0;
bottom:0;
margin-top:auto;
margin-bottom:auto;
posted @ 2022-02-07 17:04  无据  阅读(48)  评论(0编辑  收藏  举报