将两个div放在包装器中间

web*_*ers 14 css

我有这个CSS问题:

<div id="wrap">
    <div id="left">I am div 1</div>
    <div id="right">I am div 2</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在包装div中制作"我是div 1我是div 2"中心.不知道如何解释它.设计只是百分之百,液体设计,我卡住了.

有任何想法吗?

jac*_*ile 54

如果我理解你的问题,这应该有效:

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

#left, #right {
     background: #ccc;
     display: inline-block;    
     padding: 2%;   
}
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/jackrugile/jZLW4/

这将在包裹内并排放置两个div块.


编辑:2015 Flexbox解决方案

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

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

#left, #right {
    background: #ccc;
    padding: 2%;   
}
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/jackrugile/4xf2c46d/

请务必选中"我可以使用"以确认您支持的浏览器是否支持flexbox.

  • @Mohammad内联块元素将尊重一次出现的空白,就像内联元素一样.要消除这个差距,可以使用我添加的flexbox解决方案,删除两个元素之间的HTML标记中的空格,或使用HTML注释技巧删除该空间.后者可以在这里的演示中看到:http://jsfiddle.net/ymfz9hyr/ (2认同)