--- title: align-content slug: Web/CSS/align-content tags: - CSS - CSS 属性 - 参考 translation_of: Web/CSS/align-content ---
CSS 的 align-content 属性设置了浏览器如何沿着弹性盒子布局的纵轴和网格布局的主轴在内容项之间和周围分配空间。
该属性对单行弹性盒子模型无效。(即:带有 flex-wrap: nowrap)。
/* 基本位置对齐 */ /*align-content不采用左右值 */ align-content: center; /* 将项目放置在中点 */ align-content: start; /* 最先放置项目 */ align-content: end; /* 最后放置项目 */ align-content: flex-start; /* 从起始点开始放置flex元素 */ align-content: flex-end; /* 从终止点开始放置flex元素 *//* 默认对齐 */align-content: normal;/*基线对齐*/ align-content: baseline; align-content: first baseline; align-content: last baseline; /* 分布式对齐 */ align-content: space-between; /* 均匀分布项目 第一项与起始点齐平, 最后一项与终止点齐平 */ align-content: space-around; /* 均匀分布项目 项目在两端有一半大小的空间*/ align-content: space-evenly; /* 均匀分布项目 项目周围有相等的空间 */ align-content: stretch; /* 均匀分布项目 拉伸‘自动’-大小的项目以充满容器 */ /* 溢出对齐 */ align-content: safe center; align-content: unsafe center; /* 全局属性 */ align-content: inherit; /* 继承 */ align-content: initial; /* 初始值 */ align-content: unset; /* 未设置 */
startendflex-startflex-endcenternormalbaseline
first baselinelast baselinefirst baseline is start, the one for last baseline is end.space-betweenspace-aroundspace-evenlystretchsafestart 对齐模式一样。unsafe#container {
height:200px;
width: 240px;
align-content: center; /* Can be changed in the live sample */
background-color: #8c8c8c;
}
.flex {
display: flex;
flex-wrap: wrap;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, 50px);
}
div > div {
box-sizing: border-box;
border: 2px solid #8c8c8c;
width: 50px;
display: flex;
align-items: center;
justify-content: center;
}
#item1 {
background-color: #8cffa0;
min-height: 30px;
}
#item2 {
background-color: #a0c8ff;
min-height: 50px;
}
#item3 {
background-color: #ffa08c;
min-height: 40px;
}
#item4 {
background-color: #ffff8c;
min-height: 60px;
}
#item5 {
background-color: #ff8cff;
min-height: 70px;
}
#item6 {
background-color: #8cffff;
min-height: 50px;
font-size: 30px;
}
select {
font-size: 16px;
}
.row {
margin-top: 10px;
}
<div id="container" class="flex">
<div id="item1">1</div>
<div id="item2">2</div>
<div id="item3">3</div>
<div id="item4">4</div>
<div id="item5">5</div>
<div id="item6">6</div>
</div>
<div class="row">
<label for="display">display: </label>
<select id="display">
<option value="flex">flex</option>
<option value="grid">grid</option>
</select>
</div>
<div class="row">
<label for="values">align-content: </label>
<select id="values">
<option value="normal">normal</option>
<option value="stretch">stretch</option>
<option value="flex-start">flex-start</option>
<option value="flex-end">flex-end</option>
<option value="center" selected>center</option>
<option value="space-between">space-between</option>
<option value="space-around">space-around</option>
<option value="space-evenly">space-evenly</option>
<option value="start">start</option>
<option value="end">end</option>
<option value="left">left</option>
<option value="right">right</option>
<option value="baseline">baseline</option>
<option value="first baseline">first baseline</option>
<option value="last baseline">last baseline</option>
<option value="safe center">safe center</option>
<option value="unsafe center">unsafe center</option>
<option value="safe right">safe right</option>
<option value="unsafe right">unsafe right</option>
<option value="safe end">safe end</option>
<option value="unsafe end">unsafe end</option>
<option value="safe flex-end">safe flex-end</option>
<option value="unsafe flex-end">unsafe flex-end</option>
</select>
</div>
var values = document.getElementById('values');
var display = document.getElementById('display');
var container = document.getElementById('container');
values.addEventListener('change', function (evt) {
container.style.alignContent = evt.target.value;
});
display.addEventListener('change', function (evt) {
container.className = evt.target.value;
});
{{EmbedLiveSample("示例", 260, 290)}}
| 规范 | 状态 | 备注 |
|---|---|---|
| {{SpecName("CSS3 Box Alignment", "#propdef-align-content", "align-content")}} | {{Spec2("CSS3 Box Alignment")}} | 添加了 space-evenly, [ first | last ]? baseline, start, end, left, 和 right 的属性值. |
| {{SpecName("CSS3 Flexbox", "#align-content", "align-content")}} | {{Spec2("CSS3 Flexbox")}} | 初始定义 |
{{Compat("css.properties.align-content.flex_context")}}
{{Compat("css.properties.align-content.grid_context")}}