CSS 属性

CSS place-content 是一个简写属性,可同时对齐块(列)轴和内联(行)轴中的内容。它用于设置 align-contentalign-content 属性在单个声明中。

此属性是以下 CSS 属性的简写:

属性值

  • start: 项目与每个项目对齐other 相对于相应轴中容器的起始边缘。

  • end: 项目相对于相应轴中容器的结束边缘彼此对齐。

  • flex-start: 在 Flex 容器的开头对齐项目。

  • flex-end: 在末尾对齐项目

  • center: 在 Flex 容器的中心对齐项目。

  • left: 将项目对齐对齐容器左侧的项目。如果属性的轴不平行于内联轴,则该值的作用类似于 start。

  • right: 将项目与相应轴中对齐容器的右边缘对齐。如果属性的轴不平行于内联轴,则该值的作用类似于 start。

  • space- Between: 对齐容器内的项目均匀分布,相邻项目之间的间距相等,第一个和最后一个项目与主开始和主结束边缘对齐。

  • baseline、first baseline, last baseline −

    • 这些值指定内容对齐中第一个或最后一个基线对齐的情况。

    • 第一个和最后一个基线与基线同义。 First 和 Last 指的是 Flex 项目中的行框。

    • 开始是第一个基线的后备对齐,结束是最后一个基线的后备对齐。

  • space-around: 对齐容器内的项目均匀分布。每对相邻元素在第一个和最后一个项目之前具有相同的间距,是相邻项目之间距离的一半。

  • space-evenly: 对齐容器内的项目均匀分布,相邻项目之间以及主开始和主结束边缘之间的间距相等。

  • stretch: 如果沿主轴的项目总大小小于对齐容器,自动调整大小的项目会平等地增加其大小以填充容器,同时考虑最大高度/最大宽度约束。

  • safe: 与对齐关键字一起使用以及当项目溢出时容器,导致任何数据丢失,对齐设置为每个起始值。

  • unsafe: 与对齐关键字一起使用,即使项目溢出容器,导致任何数据丢失,都会遵循传递的对齐值。

适用范围

多行弹性容器。

语法

位置对齐

place-content: center start;
place-content: start center;
place-content: end left;
place-content: flex-start center;
place-content: flex-end center; 

基线对齐

place-content: baseline center;
place-content: first baseline space-evenly;
place-content: last baseline right; 

分布式对齐

place-content: space-between space-evenly;
place-content: space-around space-evenly;
place-content: space-evenly stretch;
place-content: stretch space-evenly; 

第一个属性值为align-content,第二个是 justify-content

如果第二个值丢失,则第一个值将用于这两个值(只要它有效)。如果两者都无效,则整个值无效。

CSS place-content: center start 

以下示例演示属性 place-content:center start 水平对齐 Flex 项目朝向容器的中心并垂直朝向容器的顶部 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: center start;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: start center 

以下示例演示属性 place-content:start center 沿对齐 Flex 项目容器的左边缘水平和垂直于容器的中心 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: start center;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: end right 

以下示例演示属性 place-content: end right将 Flex 项目水平对齐到右边缘,垂直对齐到下边缘 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: end right;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: flex-start center 

以下示例演示属性 place-content: flex-start center 将 Flex 项目水平对齐到容器的左边缘,垂直对齐到容器的中心 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: flex-start center;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: flex-end center 

以下示例演示属性 place-content: flex-end center 将 Flex 项目水平对齐到右端,垂直对齐到容器的中心 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: flex-end center;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: place-content

下面的示例演示了属性 place-content:最后一个基线属性,最后一行项目与该行最高项目的基线对齐 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: last baseline;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: space-between 

以下示例演示属性 place-content:space-between 属性在 Flex 容器内的 Flex 项目之间均匀分布空间 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: space-between;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: space-around 

以下示例演示属性 place-content:space-around 属性在 Flex 容器内的 Flex 项目周围均匀分布空间 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: space-around;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html> 

CSS place-content: space-evenly 

以下示例演示了属性 place-content:space-evenly 属性均匀地在 Flex 容器内的 Flex 项目之间(之间和周围)均匀分布空间 -

<html>
<head>
<style>
   .flex-container {
      background-color: red;
      height: 300px;
      border: 2px solid black;
      display: flex;
      flex-wrap: wrap;
      place-content: space-around;
   }
   .flex-container > div {
      flex-basis: 100px;
      height: 50px;
      margin: 5px;
      background-color: greenyellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div>Flex item 1</div>
      <div>Flex item 2</div>
      <div>Flex item 3</div>
      <div>Flex item 4</div>
      <div>Flex item 5</div>
      <div>Flex item 6</div>
      <div>Flex item 7</div>
   </div>
</body>
</html>