如何居中而不是左对齐div

时间:2016-02-17 01:11:34

标签: html css

我试图将这些div水平居中,但它们堆叠在一起,然后左对齐。

如何让它们水平对齐中心,使它们看起来像这样:

enter image description here



.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;
&#13;
&#13;

3 个答案:

答案 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)

查看Center aligning list

诀窍是将display:inline-block;应用于列表元素并将text-align:center;应用于外部div。