Самый распространенный способ центрирования элемента блока, если вы знаете, что ширина определить ширину и использовать «запас: 0 авто». Это говорит браузеру, чтобы дать верхнее и нижнее поле 0, и автоматически определять равные поля слева и справа.
Использование поплавки, вы можете создать макет, который описывается следующим образом:
http://jsfiddle.net/ynt4suee/
Markup:
<div>
<div id="one" class="border clearfix">one
<div id="wrapper">
<div id="two" class="border">two</div>
<div class="subcontainer">
<div id="three" class="border">three</div>
<div id="four" class="border">four</div>
</div>
</div>
</div>
CSS:
div.border{
border: 1px solid red;
}
div#wrapper{
width: 400px;
margin: 0 auto;
}
div#two{
width: 250px;
float: left;
}
div.subcontainer{
float: right;
width: 130px;
}
.clearfix:after {
content: " "; /* Older browser do not support empty content */
visibility: hidden;
display: block;
height: 0;
clear: both;
}
Вот еще один подход, используя встроенный блок элементов для внутренних дивы вместо:
http://jsfiddle.net/xojqq4v5/
Markup:
<div id="one" class="border">
div 1
<div id="wrapper">
<div id="two" class="border">div 2</div>
<div id="subcontainer">
<div id="three" class="border">div 3</div>
<div id="four" class="border">div 4</div>
</div>
</div>
</div>
CSS: div.border { границы: 1px сплошной красный; margin-bottom: 5px; }
div#wrapper{
width: 450px;
margin: 0 auto;
}
div#two, div#subcontainer{
display: inline-block;
vertical-align: top;
}
div#two{
width: 300px;
}
div#three, div#four{
width: 140px;
}
Тем не менее, до тех пор, как вы знаете, общую ширину внутренних дивов, вы можете центрирования обертки с помощью «маржи: 0 авто», которая имеет преимущество не центрирование текста на все дочерние элементах, если только иначе указано.
Разница заключается в том, что для размещения внутренних divs в столбцах div 2 и div контейнера, содержащих divs 3 и 4, определяются как элементы встроенного блока.
Является ли ваш макет фиксированным/текучим/отзывчивым? – samsos
Да, должен работать на дисплеях 4K, дисплеях FHD, более старых мониторах или даже мобильных телефонах – Egidi