我正在研究这个设计,而且我已经陷入困境。 这是我的简化设计: jsFiddle
如您所见,我在div中有多个图像。 我需要做的是让它们看起来像这样:
所以他们和边界之间有自动边距。
垂直对齐的解决方案是将图像放在50px高度,因为#container
div具有固定高度,或使用具有display: inline-block
和vertical-align: middle
属性的辅助div ,但我不知道如何处理水平对齐,因为它不是固定的宽度。
我尝试了display: block
和margin: 0 auto
,但它没有成功。它不再显示在同一行上的图像。有什么想法吗?
答案 0 :(得分:2)
在父
上使用text-align:center
<强> CSS 强>
*{
margin: 0px;
padding: 0px;
}
body, html {
width: 100%;
}
#container {
width: 50%;
height: 50px;
display: block;
margin: auto;
border: 1px solid blue;
line-height: 50px;
text-align: center;
}
#container img{
width: 30px;
height: 30px;
margin: 0 25px;
vertical-align: middle;
}
答案 1 :(得分:2)
您可以使用:
#container {
width: 50%;
height: 50px;
display: block;
margin: auto;
border: 1px solid blue;
line-height: 50px;
text-align: center;/*Add text align center*/
}
#container img{
width: 30px;
height: 30px;
vertical-align: middle;/*Add vertical align middle*/
}
#container img:not(:first-child){
margin-left: 50px;/*Add margin not in first image though*/
}
答案 2 :(得分:1)
您可以将图像设为内联块,然后将text-align: center
添加到容器中。然后将图像分开,并在上面留出一些边距,如下所示:
#container {
width: 50%;
height: 50px;
display: block;
margin: auto;
border: 1px solid blue;
line-height: 50px;
text-align: center;
}
#container img{
display: inline-block;
width: 30px;
height: 30px;
margin: 0 5%;
}
JSFiddle:http://jsfiddle.net/a0n8wm5k/2/
答案 3 :(得分:0)
由于容器是固定高度,为什么不给每个img一个填充/边距?
#container img{
width: 30px;
height: 30px;
padding-left: 20px;
vertical-align: middle;
}
答案 4 :(得分:0)
你可以在css中添加margin-left,如果你需要就像你在图像中显示的那样你应该增加容器的宽度,如
#container {
width: 80%;
height: 50px;
display: block;
margin: auto;
border: 1px solid blue;
line-height: 50px;
}
#container img{
margin-left:35px;
width: 30px;
height: 30px;
}
这是小提琴
http://jsfiddle.net/a0n8wm5k/7/
答案 5 :(得分:0)
这是我的2美分,使用table-cell
。
请注意,我添加了一个父容器,以table-cell
为中心。您的问题是针对图片的,因此我不认为这是一个问题?
<div id="parent-container">
<div id="container">
<img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQXxxJ8MNjZZV8-Zzwu_RfL6YnZSt8cY70fyQlgeJwg3H6dLW_m2A" />
<img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQXxxJ8MNjZZV8-Zzwu_RfL6YnZSt8cY70fyQlgeJwg3H6dLW_m2A" />
<img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQXxxJ8MNjZZV8-Zzwu_RfL6YnZSt8cY70fyQlgeJwg3H6dLW_m2A" />
<img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQXxxJ8MNjZZV8-Zzwu_RfL6YnZSt8cY70fyQlgeJwg3H6dLW_m2A" />
</div>
</div>
#parent-container {
display: table;
width: 50%;
margin: 0 auto;
}
#container {
display: table-cell;
vertical-align: middle;
width: 50%;
height: 200px;
border: 1px solid blue;
text-align: center;
}
#container img {
display: inline-block;
width: 30px;
}
我改变了高度,表明它是&#34;流体&#34;,无论容器大小如何。这应该适用于IE8 +,但未经过测试。