38、CSS 定位 position

CSS 定位属性

  • position 把元素放置到一个静态的、相对的、绝对的、或固定的位置中。
  • top 定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。
  • right 定义了定位元素右外边距边界与其包含块右边界之间的偏移。
  • bottom 定义了定位元素下外边距边界与其包含块下边界之间的偏移。
  • left 定义了定位元素左外边距边界与其包含块左边界之间的偏移。

通过使用 position 属性,我们可以选择 4 种不同类型的定位。
position 属性值:

  • static:元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
  • relative:元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
  • absolute:元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
  • fixed:元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。

例:

<html>
<head>
<style>
h2.pos_abs {
  position: absolute;
  left: 100px;
  top: 150px
}
</style>
</head>
<body>
<h2 class="pos_abs">这是带有绝对定位的标题</h2>
<p>通过绝对定位,元素可以放置到页面上的任何位置。下面的标题距离页面左侧 100px,距离页面顶部 150px。</p>
</body>
</html>

图片说明