使用 CSS 实现三个元素分别左、中、右对齐,并且每个元素内部有上下居中排列的两个文字

266 阅读2分钟

要使用 CSS 实现三个元素分别左、中、右对齐,并且每个元素内部有上下居中排列的两个文字,可以使用 flexbox 布局来完成。这种布局方式非常灵活,能够很好地控制元素的位置和对齐方式。

示例代码

html
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Left Center Right Layout</title>
  <style>
    .container {
      display: flex;
      justify-content: space-between; /* 左中右排列 */
      align-items: center; /* 上下居中 */
      height: 200px; /* 父容器高度,可以根据需要调整 */
      border: 1px solid #ddd; /* 可选:添加边框以查看效果 */
      padding: 0 20px; /* 可选:内边距 */
    }

    .item {
      display: flex;
      flex-direction: column; /* 使文本垂直排列 */
      justify-content: center; /* 上下居中 */
      text-align: center; /* 中间文本居中 */
    }
  </style>
</head>
<body>

  <div class="container">
    <div class="item">
      <div>左边第一行文字</div>
      <div>左边第二行文字</div>
    </div>
    <div class="item">
      <div>中间第一行文字</div>
      <div>中间第二行文字</div>
    </div>
    <div class="item">
      <div>右边第一行文字</div>
      <div>右边第二行文字</div>
    </div>
  </div>

</body>
</html>

解释

  1. 父容器

    • container 类的 div 元素作为父容器,使用 flexbox 布局。
    • justify-content: space-between 确保子元素左中右排列。
    • align-items: center 使子元素在垂直方向上居中对齐。
    • height: 200px 定义父容器的高度,可以根据需要调整。
    • padding: 0 20px 为父容器添加左右内边距(可选)。
  2. 子元素

    • item 类的 div 元素用于包含每个位置的文本。
    • display: flexflex-direction: column 使子元素内部的文本垂直排列。
    • justify-content: center 使子元素内部的文本在垂直方向上居中对齐。
    • text-align: center 确保文本在水平居中对齐。

调整样式

  • 水平排列方式:如果不需要严格的左中右对齐,可以使用其他 justify-content 属性值,例如 justify-content: space-aroundjustify-content: space-evenly 来调整水平间距。
  • 垂直对齐方式:如果需要更复杂的垂直对齐方式,可以调整 align-itemsjustify-content 属性。

总结

通过使用 flexbox 布局,可以非常简洁地实现三个元素的左中右排列,并且每个元素内部有上下居中的两个文字。这种方法不仅代码简洁,且具有很好的浏览器兼容性和响应性。