我有这个CSS问题:

<div id="wrap">
    <div id="left">I am div 1</div>
    <div id="right">I am div 2</div>
</div>

我正在尝试使“我是div 1我是div 2”在包装div内部居中。不确定如何解释。设计只用百分比,液体设计,我被困住了。

有任何想法吗?

最佳答案

如果我正确理解了您的问题,则该方法应该起作用:

#wrap {
    background: #e7e7e7;
    padding: 5%;
    text-align: center;
    width: 80%;
}

#left, #right {
     background: #ccc;
     display: inline-block;
     padding: 2%;
}

View Example

这将使两个div块在包装内并排居中。

编辑:2015 Flexbox解决方案

Flexbox现在得到了更广泛的支持,并且很可能是这种情况下的更好解决方案。上面的内联块方法伴随着一些怪癖,例如水平间距和垂直对齐问题。这是flexbox解决方案:

#wrap {
    background: #e7e7e7;
    display: flex;
    justify-content: center;
    padding: 5%;
    width: 80%;
}

#left, #right {
    background: #ccc;
    padding: 2%;
}

View Example

确保检查Can I Use以确认所支持的浏览器是否支持flexbox。

2019编辑:评论者MC9000提出我的示例没有以百分比回应,如原始问题所述。我已经更新了示例,以表明该方法适用于基于百分比的尺寸调整,就像基于像素的尺寸调整一样。

关于css - 在包装器中间居中两个div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5834158/

10-12 00:06
查看更多