#css #css-float
#css #css-float
Вопрос:
У меня есть несколько плавающих по левому краю divs. Они должны свободно переноситься по мере изменения размера окна. Мне нужно центрировать их по горизонтали.
.el { background: green; width: 200px; height: 40px;
border: 1px solid; float: left; margin: 5px; text-align: center;}
.el:nth-child(odd) { background: red; }
.el:nth-child(even) { background: yellow; }
<div id="container">
<div class="el">1</div>
<div class="el">2</div>
<div class="el">3</div>
<div class="el">4</div>
<div class="el">5</div>
<div class="el">6</div>
<div class="el">7</div>
<div class="el">8</div>
<div class="el">9</div>
</div>
Codepen:
http://codepen.io/serhio/pen/PGZQwp
Комментарии:
1. Несколько вариантов: 1. центрируйте контейнер — 2. вместо этого используйте встроенный блок —- 3 . используйте flexbox вместо float
2. просто использование встроенного блока в .el не работает
3. Нет, но это подход codepen.io/anon/pen/mALxOj для всех 3 вам нужно немного больше
Ответ №1:
Используйте медиа-запросы CSS для разного разрешения экрана, чтобы переносить дивы при изменении размера браузера. Используйте следующий CSS, чтобы сделать дивы горизонтально центрированными. Например:
.outer_container{
margin: 0 auto;
}
где outer_container — это имя класса css для out div, который содержит все дочерние divs.
Ответ №2:
Понял. Основная идея:
#container { text-align: center; }
.el { display: inline-block; }
#container > * { text-align: initial; } /* resetting child align */
Ответ №3:
Пожалуйста, посмотрите, пытаетесь ли вы достичь этого результата.
.el { background: green; width: 200px; height: 40px;
border: 1px solid; display:inline-block; margin: 5px; text-align: center;}
.el:nth-child(odd) { background: red; }
.el:nth-child(even) { background: yellow; }
#container{margin:0px auto; width:100%; text-align:center}
body{width:100%;}
<div id="container">
<div class="el">1</div>
<div class="el">2</div>
<div class="el">3</div>
<div class="el">4</div>
<div class="el">5</div>
<div class="el">6</div>
<div class="el">7</div>
<div class="el">8</div>
<div class="el">9</div>
</div>