设置div之间的空间

时间:2012-04-07 08:17:48

标签: css asp.net-mvc

我有两个这样的div:

<section id="main">
        <div id="left">
            <asp:ContentPlaceHolder ID="left" runat="server" />
        </div>
        <div id="right">
            <asp:ContentPlaceHolder ID="right" runat="server" />
        </div>
</section>

这是我的css:

#left
{
    float: left;
    margin-right: 17px;

}

#right
{
    float: right;
}

我希望div之间的空间为40px。我尝试在我的CSS中添加填充,边距和宽度,但我认为它没有将填充设置为正确的40px。怎么做?

4 个答案:

答案 0 :(得分:29)

对于那些寻找解决方案以设置N div之间间隔的人来说,这是使用伪选择器的另一种方法:

div:not(:last-child) {
  margin-right: 40px;
}

您还可以组合子伪选择器:

div:not(:first-child):not(:last-child) {
  margin-left: 20px;
  margin-right: 20px;
}

答案 1 :(得分:25)

以相同的方式浮动它们并添加40px的边距。如果你有两个相反的方向浮动,那么你的控制就会少得多,而含有的元素将决定它们相隔多远。

#left{
    float: left;
    margin-right: 40px;
}
#right{
   float: left;
}

答案 2 :(得分:1)

N div 之间的间距的另一种解决方案可以是:

div + div {
  margin-left: 40px;
}

我们正在利用 + css 选择器。它只选择紧跟在 <div> 元素之后的 <div> 元素。

注意:我们在这里设置的是 margin-left 而不是 margin-right

答案 3 :(得分:0)

您需要在两个格之间装订一个装订线,如下所示

页边距(装订线)=宽度-装订线尺寸 例如保证金= calc(70%-2em)

<body bgcolor="gray">
<section id="main">
        <div id="left">
            Something here     
        </div>
        <div id="right">
                Someone there
        </div>
</section>
</body>
<style>
body{
    font-size: 10px;
}

#main div{
    float: left;
    background-color:#ffffff;
    width: calc(50% - 1.5em);
    margin-left: 1.5em;
}
</style>