同一宽度的3个柔性箱项目的水平居中
我一直在尝试使用flexbox水平居中这3个项目,但没有成功。 它们都需要具有相同的宽度。 HTML:
<div id="contact_flex_container">
<div id="fb">
<img src="img/contact/fb.png" class="contact_img">
<h3>Title1</h3>
</div>
<div id="yt">
<img src="img/contact/yt.png" class="contact_img">
<h3>Title2</h3>
</div>
<div id="mail">
<img src="img/contact/mail.png" class="contact_img">
<h3>Title3</h3>
</div>
</div>
CSS:
#contact_flex_container {
display: flex;
flex-flow: row wrap;
text-align: center;
background-color: red;
width: auto;
justify-content: space-around;
}
.contact_img {
width: 40px;
height: 40px;
}
#fb {
flex-basis: 0;
flex-grow: 1;
}
#yt {
flex-basis: 0;
flex-grow: 1;
}
#mail {
flex-basis: 0;
flex-grow: 1;
}
我也尝试为每个子设置margin-left和right来自动设置,为内容居中对齐容器,甚至与像素的固定宽度的容器相结合,但似乎没有任何工作。 更具体地说,证明内容在这里似乎根本不起作用,无论我放在那里的价值如何。 我错过了什么或做错了什么?
您分配给flex-items的flex属性使它们尽可能大(在本例中为容器的33%)。
只要删除它们,然后更改父级以justify-content:center
。
#contact_flex_container {
display: flex;
flex-flow: row wrap;
text-align: center;
background-color: red;
width: auto;
justify-content: center
}
.contact_img {
width: 40px;
height: 40px;
}
#fb {} #yt {} #mail {}
<div id="contact_flex_container">
<div id="fb">
<img src="http://lorempixel.com/image_output/abstract-q-c-50-50-5.jpg" class="contact_img">
<h3>Title1</h3>
</div>
<div id="yt">
<img src="http://lorempixel.com/image_output/abstract-q-c-50-50-5.jpg" class="contact_img">
<h3>Title2</h3>
</div>
<div id="mail">
<img src="http://lorempixel.com/image_output/abstract-q-c-50-50-5.jpg" class="contact_img">
<h3>Title3</h3>
</div>
</div>
链接地址: http://www.djcxy.com/p/13257.html
上一篇: Horizontal centering of 3 flexbox items of the same width
下一篇: How to set the margin or padding as percentage of height of parent container?