CSS五种定位方式区分

125 阅读1分钟

static静态定位

这个相当于没有定位,用来消除定位,符合标准流。

relative相对定位

  1. 改变位置参照自己原来的位置;
  2. 占有原来的位置,具有原有显示模式特点,所以原来的位置仍然保留,空缺的位置不会被其他元素占用;
  3. 给绝对定位的父元素使用。

absolute绝对定位

  1. 以父标签为参照物
  2. 如果没有祖先元素,或者祖先元素没有定位,则以浏览器为参照物;
  3. 如果祖先元素有定位,除了static以外,以最近的一个祖先元素为参照物;
  4. 脱离文档流,不占位,改变显示模式的特点,具备行内块特点

fixed固定定位

  1. 固定在浏览器页面上,不会随着浏览器页面的滚动改变位置;
  2. 以浏览器为参照物,和父元素没有关系;
  3. 不随滚动条的滚动而滚动;
  4. 脱离文档流,不占位,具备行内块特点

sticky粘性定位

  1. 以浏览器为参照物
  2. 占有原来位置
  3. 必须添加top、bottom、left、right中的一个才有效,如:position:sticky left 100px;

层级问题:标准流 < 浮动 < 定位

image.png