我试图将这些div水平居中,但它们堆叠在一起,然后左对齐。
如何让它们水平对齐中心,使它们看起来像这样:
.logos{
margin-left: -32px;
margin-bottom: 15px;
}
.logos ul li{
float: center;
width: 210px;
height: 100px;
line-height: 100px;
border: 1px solid #86a7cb;
background: #fff;
text-align: center;
margin-left: 32px;
}
.logos ul li a{
display: inline;
border: 1px solid #86a7cb;
}
.logos ul li img{
max-height: 90%;
max-width:99%;
height: auto;
horizontal-align: middle;
display: inline;
border: 1px solid #86a7cb;
}

<div class="logos ul">
<ul>
<li>
<a href="#">My Item 1</a>
</li>
<li>
<a href="#">My Item 2</a>
</li>
</ul>
<div class="clear"></div>
</div>
&#13;
答案 0 :(得分:2)
您可以将标记放在div
内,并使div
成为弹性框并向其添加justify-content : center
。另外,将float : left
添加到.logos ul
以确保它们是并排的。见: -
#wrapper{
display : flex;
justify-content : center;
}
.logos{
margin-left: -32px;
margin-bottom: 15px;
}
.logos ul li{
float: left;
width: 210px;
height: 100px;
line-height: 100px;
border: 1px solid #86a7cb;
background: #fff;
text-align: center;
margin-left: 32px;
}
.logos ul li a{
display: inline;
border: 1px solid #86a7cb;
}
.logos ul li img{
max-height: 90%;
max-width:99%;
height: auto;
vertical-align: middle;
display: inline;
border: 1px solid #86a7cb;
}
<div id="wrapper">
<div class="logos ul">
<ul>
<li>
<a href="#">My Item 1</a>
</li>
<li>
<a href="#">My Item 2</a>
</li>
</ul>
<div class="clear"></div>
</div>
</div>
答案 1 :(得分:1)
ul {
text-align: center;
}
li {
display:inline-block;
float: left;
}
另外,如果你想让li元素在ul元素上水平均匀地分布,试试这个:
ul{
text-align: justify;
width: 300px;
display:block;
margin-left:auto;
margin-right:auto;
}
ul:after{
content: '';
width: 100%;
display: inline-block;
}
li {
display:inline-block;
}
查看jsfiddle:https://jsfiddle.net/0zokhm3w/
答案 2 :(得分:0)
诀窍是将display:inline-block;
应用于列表元素并将text-align:center;
应用于外部div。