如何使用 CSS Flex 将列 DIV 对齐为左中右?


为了通过在弹性容器的主轴上分配空间来对齐弹性容器的项目,我们使用 CSS 的justify-content属性。以下是其值:

  • flex-start - 弹性项目位于容器的起始位置。这是默认值。

  • flex-end - 弹性项目位于容器的结束位置

  • center - 弹性项目位于容器的中心

  • space-between - 弹性项目之间会有间距

  • space-around - 弹性项目之间以及前后都会有间距

  • space-evenly - 弹性项目周围会有相等的间距

语法

CSS justify-content 属性的语法如下:

Selector {
   display: flex;
   justify-content: /*value*/
}

弹性项目之间会有间距

CSS 的justify-content属性与space-between属性一起使用,可以让弹性项目之间有间距。让我们看一个弹性项目之间有间距的示例。

示例

<!DOCTYPE html>
<html>
<head>
   <style>
      #root {
         margin: 5%;
         display: flex;
         justify-content: space-between;
      }
      #one {
         float:left;
         box-shadow: inset 0 0 34px #b798e1;
      }
      #two {
         box-shadow: inset 0 0 34px #236fa0;
      }
      #three {
         box-shadow: inset 0 0 34px #43946a;
      }
      .element {
         padding: 7%;
         border-radius: 15%;
      }
   </style>
</head>
<body>
   <div id="root">
      <div class="element" id="one">1</div>
      <div class="element" id="two">2</div>
      <div class="element" id="three">3</div>
   </div>
</body>
</html>

弹性项目之间会有相等的间距

CSS 的justify-content属性与space-evenly属性一起使用,可以让弹性项目之间有相等的间距。让我们看一个示例:

示例

<!DOCTYPE html>
<html>
<head>
   <style>
      #root {
         margin: 5%;
         padding: 2%;
         display: flex;
         justify-content: space-evenly;
         box-shadow: inset 0 10px 40px magenta;
         font-weight: bold;
      }
      div > div {
         padding: 2%;
         border-radius: 15%;
      }
      div:nth-of-type(even) {
         box-shadow: inset 2px 2px 20px orange;
      }
      div > div:nth-of-type(odd) {
         box-shadow: inset 2px 2px 20px lightblue;
      }
   </style>
</head>
<body>
   <div id="root">
      <div>1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
      <div>6</div>
   </div>
</body>
</html>

弹性项目位于容器的中心

jusitify-content设置为center以将弹性项目对齐到容器的中心。在这个示例中,我们使用了 CSS 的justify-content属性与space-evenly属性,以使其中一个弹性项目之间有相等的间距。

示例

让我们看一个将弹性项目定位到容器中心的示例:

<!DOCTYPE html>
<html>
<head>
   <style>
      body {
         font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      }
      .container {
         display: flex;
         flex-wrap: wrap;
         justify-content: space-evenly;
         background-color: lightblue;
      }
      .container1 {
         align-self: flex-start;
         display: flex;
         background-color: rgb(71, 30, 255);
         width: 200px;
         margin: 20px;
      }
      .container1 > div {
         background-color: #f1f1f1;
         margin: 10px;
         padding: 10px;
         font-size: 30px;
      }
      .container2 {
         display: flex;
         background-color: rgb(14, 126, 79);
         width: 200px;
         justify-content: center;
         align-self: flex-start;
         margin: 20px;
      }
      .container2 > div {
         background-color: #f1f1f1;
         margin: 10px;
         padding: 10px;
         font-size: 30px;
      }
      .container3 {
         display: flex;
         flex-direction: column;
         background-color: rgb(168, 60, 10);
         width: 200px;
         align-items: center;
         margin: 20px;
      }
      .container3 > div {
         background-color: #f1f1f1;
         margin: 10px;
         padding: 10px;
         width: 20px;
         font-size: 30px;
      }
   </style>
</head>
<body>
   <h1>Flex layout example</h1>
   <div class="container">
      <div class="container1">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container2">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container3">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container1">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
   </div>
</body>
</html>

更新于: 2023年11月15日

1K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告