美文网首页
css定位篇-position

css定位篇-position

作者: 护念 | 来源:发表于2018-06-17 11:54 被阅读0次

html中position定位有:

  • static (默认的定位方式,文档流)
  • relative (相对定位)
  • absolute (绝对定位)
  • fixed (固定定位)
    这几种方式,下面分别看下

relative 相对定位

PS: 默认的定位方式就不做介绍了

相对定位指:
1 . 相对于文档流原本位置的偏移
2 . 偏移后仍占据文档流(也就位置仍然会占有)

<style>
  #relative {
    position: relative;
    padding: 10px;
    top: 20px;
    left: 50px;
    border: 5px solid green;
  }
</style>

<div>
    <p>相对定位的前一个内容</p>
    <span id="relative">我是相对定位, 本来 span 标签属于内联标签,默认应该和p标签同一行的</span>
  </div>
image.png

absolute 绝对定位

绝对定位:
1 .参照物是它的父元素中定了位的元素(position 等于 relative/absolute/fixed)
2 . 绝对定位不占据文档空间(后来者会当它不存在)
3 .在定了位的父元素容器中,它的默认位置仍是按文档流来的。

父元素定位 VS 没定位区别

 #absolute {
    position: absolute; // 绝对定位
    padding: 10px;
    top: 30px;
    left: 50px;
    border: 5px solid red;
  }

<body>
  <div>
    <p>相对定位的前一个内容</p>
    <p id="relative">我是相对定位, 本来默认应该紧紧挨在p下的</p>
  </div>

  <div>
    <p>绝对定位的前一个内容</p>
    <div id="absolute">
      绝对定位元素
    </div>
  </div>


</body>
image.png

父元素定位-绝对定位不偏移(按文档流)

#absolute-parent {
    position: relative; // 父元素定位
    top: 10px;
    border: 5px solid;
    width: 300px;
    height: 300px;
  }

  #absolute {
    position: absolute; // 绝对定位
    padding: 10px;
    border: 5px solid red;
  }

<body>
  <div>
    <p>相对定位的前一个内容</p>
    <p id="relative">我是相对定位, 本来默认应该紧紧挨在p下的</p>
  </div>

  <div id="absolute-parent">
    <p>绝对定位的前一个内容</p>
    <div id="absolute">
      绝对定位元素
    </div>
  </div>

</body>
image.png

父元素定位-偏移

#absolute-parent {
    position: relative; // 父元素定位
    top: 10px;
    border: 5px solid;
    width: 300px;
    height: 300px;
  }

  #absolute {
    position: absolute; // 绝对定位
    padding: 10px;
    top: 30px;
    left: 50px;
    border: 5px solid red;
  }
<body>
  <div>
    <p>相对定位的前一个内容</p>
    <p id="relative">我是相对定位, 本来默认应该紧紧挨在p下的</p>
  </div>

  <div id="absolute-parent">
    <p>绝对定位的前一个内容</p>
    <div id="absolute">
      绝对定位元素
    </div>
  </div>

</body>

image.png

父元素定位-不占文档流

<body>
  <div>
    <p>相对定位的前一个内容</p>
    <p id="relative">我是相对定位, 本来默认应该紧紧挨在p下的</p>
  </div>

  <div id="absolute-parent">
    <p>绝对定位的前一个内容</p>
    <div id="absolute">
      绝对定位元素
    </div>
    <p>我是绝对定位后的元素,我会与绝对定位内容重复,应为它不占文档流</p>
  </div>

  <div id="fixed">
    固定定位
  </div>

</body>
image.png

fixed 固定定位

固定定位
1 .它的定位参照物是相对于视口(我们的设备、浏览器等)
2 .缩放窗口过程中,始终保持定位

#fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    border: 5px solid red;
  }

<div id="fixed">
    固定定位
  </div>
image.png

相关文章

  • css定位篇-position

    html中position定位有: static (默认的定位方式,文档流) relative (相对定位) ab...

  • CSS -- 定位篇

    CSS -- 定位 CSS中最重要的应该就是布局和定位, 也就是display和position两个属性。布局篇在...

  • CSS -- 布局篇

    CSS -- 布局 CSS中最重要的应该就是布局和定位, 也就是display和position两个属性定位篇在这...

  • css学习笔记:定位position

    css position定位 position选值类型: static:默认状态,不开启定位 relative:相...

  • css入坑之二

    css的元素定位->position属性 1.position:absolute 绝对定位。绝对定位是子元素相对于...

  • css粘性定位position: sticky

    css粘性定位position:sticky问题采坑position: sticky 详解(防坑指南)CSS中po...

  • HTML&&CSS初学问题汇总

    CSS Position定位理解:https://www.runoob.com/css/css-positioni...

  • 2019-01-04

    CSS布局1 说起布局就需要谈谈定位 谈及定位,我就得说说position属性 position static :...

  • CSS定位与浮动2016/6/12

    CSS 定位 (Positioning) CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 position...

  • CSS - 定位

    CSS 中的层级概念 CSS中分为3层 最上层:定位元素层(position:relative、position:...

网友评论

      本文标题:css定位篇-position

      本文链接:https://www.haomeiwen.com/subject/dbzieftx.html