如何居中浮动div?

Joh*_*oth 6 html css css-float

我想将下面的模型中出现的三个div居中(所有都有"float:left").这可能吗?

我不介意有包装div.

文本对齐:居中和显示:内联块不适用于我的代码.

在此输入图像描述

ani*_*son 20

如果你想让它们居中,你就不能漂浮它们.一个更好的选择是将它们全部制作,display: inline-block这样你仍然可以将它们设置为块元素,并且它们仍然会关注你text-align: center的父包装器.对于您提供的有限示例,这似乎是一个很好的解决方案.

为了考虑浏览器兼容性,您需要将其更改为<span>而不是<div>在将其添加display: inline-block到它们之前.这将在IE7及更高版本以及所有其他现代浏览器中得到支持.不支持IE6,但它只在中国广泛使用.


cal*_*die 6

div#wrapper {
    width:960px;
    margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/WyxHQ/1/

编辑:

根据建议将完整代码从小提琴移动到答案

<div id="outer-wrapper">
    <div id="wrapper">
        <div class="one"></div>
        <div class="two"></div>
        <div class="three"></div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

HTML

div#outer-wrapper{
border:2px solid black;
    padding:10px;
    width:100%;
}
Run Code Online (Sandbox Code Playgroud)

CSS

div#wrapper{
    width:99px;
    margin:0 auto;
} 

div {
    width:33px;
    height:20px;
}

div.one{
    background:red;
    float:left;
}

div.two{
    background:blue;
        float:left;
}

div.three{
    background:green;
        float:left;
}
Run Code Online (Sandbox Code Playgroud)

  • @animuson很高兴听到,也许你可以将我们所有人都链接到你的"最佳实践"页面,我们都可以向你学习.我不认为忽略旧版浏览器是最佳做法,但我不会在你的回答中抱怨它 (3认同)