web-dev-qa-db-ja.com

div間のスペースを設定する

このような2つの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を修正するように設定していなかったと思います。どうやってするの?

22
petko_stankoski

同じ方法でフロートし、40pxのマージンを追加します。 2つの要素が反対方向にフローティングしている場合、制御がはるかに少なくなり、含まれる要素がそれらの距離を決定します。

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

N divの間隔を設定するソリューションを探している人のために、疑似セレクターを使用した別のアプローチを次に示します。

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

子擬似セレクターを組み合わせることもできます。

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

2つのdivの間に溝が必要です溝は次のように作成できます

margin(Gutter)= width-ガターサイズE.g margin = 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>
0
zawhtut