我要在flexbox中垂直对齐项目。这是我的代码: http://pastebin.com/1YKrYxA3
代码段:
.flex-conteneur {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 1026px;
height: 300px;
background-color: gray;
font-color: white;
margin-left: auto;
margin-right: auto;
justify-content: space-around;
}
.colone1 {
width: 180px;
height: 100px;
background-color: black;
color: white;
font-family: arial;
font-size: 0.9em;
align-items: center;
}
.colone2 {
width: 400px;
height: 150px;
background-color: black;
color: white;
font-style: italic;
font-family: arial;
font-size: 0.9em;
}
.colone3 {
width: 200px;
height: 100px;
background-color: black;
color: white;
font-style: italic;
font-family: arial;
font-size: 0.9em;
}
.titre {
width: 1024px;
height: 20px;
background-color: gray;
color: white;
font-family: arial;
font-size: 1.5em;
font-family: "Arial Black"
}
<div class="flex-conteneur">
<div class="titre">
Programmation Web : INF2005
</div>
<ul class="colone1">
<li>
<a href "#">Acceuil</a>
</li>
<li>
<a href "#">Notes de cours</a>
</li>
<li>
<a href "#">Atelirs</a>
</li>
<li>
<a href "#">Travaux Pratiques</a>
</li>
</ul>
<div class="colone2">
Ce gabarit doit être structuré avec des div et mise en forme avec CSS
</div>
<div class="colone3">
Colone 3 : contenu secondaire
</div>
</div>
我尝试使用align-content
似乎不起作用。
答案 0 :(得分:3)
align-content
仅影响多行灵活容器;它对齐包含的行。
您需要align-items
,这会影响实际的展示项目。
答案 1 :(得分:1)
在查看代码时,任何地方都没有align-content
属性。它在您的代码中不存在。
align-content
属性管理沿着flex容器的横轴的多行flex项的对齐。此属性对Flex容器中的单个行没有影响。
虽然没有align-content
,但有align-items
声明。
.colone1 {
width: 180px;
height: 100px;
background-color: black;
color: white;
font-family: arial;
font-size: 0.9em;
align-items: center;
}
然而,问题在于,当它仅适用于Flex容器时,您已将align-items
属性应用于弹性项目。
如果您的目标是将ul
的内容与类colone1
垂直居中,那么您还必须应用display: flex
,因此Flex项目也会变为灵活容器。
如果您的目标是垂直居中.colone1
,则需要将align-items: center
应用于灵活容器(.flex-conteneur
)。
某些弹性属性仅适用于弹性项目。其他仅限于柔性容器。有关按父母和子女划分的属性列表,请参阅此文章:A Complete Guide to Flexbox