CSS 数据类型

CSS 数据类型 <position> 表示 HTML 元素在其包含元素中的定位行为。它用于设置相对于元素框或另一个元素的位置。

<position> 与背景图像的background-positionobject-positionmask-positionoffset-positionoffset-anchortransform-origin  一起使用

下图描述了元素的所有位置:

CSS 数据类型 <position>

  • 一两个关键字和可选偏移量用于指定 CSS 中的 <position> 数据类型。

  • 可以使用术语"center"、"top"、"right"、"bottom"和"left"。这些关键字与元素框的中心线或外部边界匹配。

  • 中间项可以指示顶部边缘和底部边缘之间的中点,也可以指示左侧边缘之间的中点。和右侧,具体取决于上下文。

  • <position> 数据类型允许将偏移量表示为绝对 <length> 值或相对 <percentage> 值。

  • 负值会导致元素向与正值相反的方向移动,从而导致其移动到右侧或底部。如果只给出一个偏移量,则确定 x 坐标;另一个轴的值默认为中心。

语法

<position> = [ left | center | right | top | bottom | <length-percentage> ]  |
[ left | center | right ] && [ top | center | bottom ]  |
[ left | center | right | >length-percentage> ] [ top | center | bottom | <length-percentage> ]  |
[ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] 

CSS <position>: 有效位置

  • center

  • left

  • center top

  • right 5.5%

  • bottom 15vmin right -3px

  • 15% 25%

  • 4rem 22px

CSS <position>: 无效位置

  • left right

  • bottom top

  • 10px 15px 20px 15px

CSS <position>: 相对位置

以下示例演示了 <position> 数据类型在 CSS 属性 background-position 中的使用,其中传递的值是相对的,即中心和左侧。线性渐变放置在页面的左中位置。

<html>
<head>
<style>
   body {
      height: 200px;
      background-color: #222;
      background-image: radial-gradient(circle at center, red, green 3em);
      background-size: 15em 10em, 30% 70%, 100px 70px;
      background-position: center left;
      background-repeat: no-repeat no-repeat;
   }
</style>
</head>
<body>  
</body>
</html> 

CSS <position>: 绝对位置

以下示例演示了 <position> 数据类型在 CSS 属性位置中的使用,以及其他属性,如顶部、左侧、右侧和底部,其中传递的值是相对和绝对的。

<html>
<head>
<style>
   .container {
      position: relative;
      border: 2px solid #ef2c2c;
   }
   .center {
      position: absolute;
      top: 45%;
      width: 100%;
      text-align: center;
   }
   .top-left {
      position: absolute;
      top: 12px;
      left: 30px;
   }
   .top-right {
      position: absolute;
      top: 12px;
      right: 30px;
   }
   .bottom-left {
      position: absolute;
      bottom: 12px;
      left: 30px;
   }
   .bottom-right {
      position: absolute;
      bottom: 12px;
      right: 30px;
   }
   img {
      width: 100%;
      opacity: 0.3;
   }
</style>
</head>
<body>
   <div class="container">
      <img src="/css/images/red-flower.jpg" alt="abc" width="1000px" height="350px">
      <h3 class="center">文本居中</h3>
      <h3 class="top-left">文本居顶左</h3>
      <h3 class="top-right">文本居顶右</h3>
      <h3 class="bottom-left">文本居底左</h3>
      <h3 class="bottom-right">文本居底右</h3>
   </div>
</body>
</html> 

CSS <position>: 固定位置

以下示例演示了使用<position> 数据类型在 CSS 属性位置中,传递的值是固定的。

<html>
<head>
<style>
   .position_container {
      width: 400px;
      height: 200px;
      background-color: #f2c3ee;
      overflow: auto;
      padding: 5px;
   }
   .fixed-position {
      position: fixed;
      top: 15px;
      left: 60px;
      padding: 5px;
      background-color: #bbedbb;
      text-align: center;
   }
</style>
</head>
<body>
   <div class="position_container">
      <p>在寻求真理的长征中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山,跨峻岭
      在寻求真理的长征中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山,跨峻岭</p>
      <p class="fixed-position">yxjc123.com CSS Position Fixed</p>
      <p>在寻求真理的长征中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山,跨峻岭</p>
      <p>在寻求真理的长征中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山,跨峻岭</p>
      <p>在寻求真理的长征中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山,跨峻岭</p>
   </div>
</body>
</html>