Установить пространство между div

У меня есть два div, как это:

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

И вот мой css:

<code>#left
{
    float: left;
    margin-right: 17px;

}

#right
{
    float: right;
}
</code>

Я хочу, чтобы расстояние между divами было 40px. Я попытался добавить отступы, поля и ширину в моем CSS, но я думаю, что он не установил отступы на 40px. Как это сделать?

Ответы на вопрос(3)

Вам нужен водосточный желоб между двумя div желоб можно сделать следующим образом

поле (желоб) = ширина - размер желоба Eg маржа = 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>
Решение Вопроса

Разместите их одинаково и добавьте поле 40px. Если у вас есть 2 элемента, плавающих в противоположных направлениях, у вас будет намного меньше контроля, и содержащий элемент будет определять, насколько далеко они друг от друга.

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

Для людей, которые ищут решение, чтобы установить расстояние междуN divs, вот еще один подход с использованием псевдо-селекторов:

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

Вы также можете комбинировать дочерние псевдо-селекторы:

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

Ваш ответ на вопрос