Выравнивание поплавка: левый div в центр?
Я хочу, чтобы группа изображений отображалась горизонтально по всей странице. Каждое изображение имеет несколько ссылок под ним, поэтому мне нужно разместить контейнер вокруг каждого изображения/группы ссылок.
Ближайшее я получил к тому, что мне нужно, это поместить их в divs, которые плавают: слева. Проблема в том, что я хочу, чтобы контейнеры выравнивали центр не слева. Как я могу это достичь.
Ответы
Ответ 1
используйте display:inline-block;
вместо float
вы не можете центрировать поплавки, но встроенные блоки центра, как если бы они были текстом, поэтому на внешнем общем контейнере вашей "строки" вы установили text-align: center;
, затем для каждого контейнера с изображением/заголовком (это те, которые будет inline-block;
), вы можете переустроить текст влево, если вам требуется
Ответ 2
CSS Flexbox хорошо поддерживается в наши дни. Пойди сюда для хорошего учебника по flexbox.
Это прекрасно работает во всех новых браузерах:
#container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.block {
width: 150px;
height: 150px;
background-color: #cccccc;
margin: 10px;
}
<div id="container">
<div class="block">1</div>
<div class="block">2</div>
<div class="block">3</div>
<div class="block">4</div>
<div class="block">5</div>
</div>
Ответ 3
попробуйте сделать это следующим образом:
<div id="divContainer">
<div class="divImageHolder">
IMG HERE
</div>
<div class="divImageHolder">
IMG HERE
</div>
<div class="divImageHolder">
IMG HERE
</div>
<br class="clear" />
</div>
<style type="text/css">
#divContainer { margin: 0 auto; width: 800px; }
.divImageHolder { float:left; }
.clear { clear:both; }
</style>
Ответ 4
Просто оберните плавающие элементы в <div>
и дайте ему этот CSS:
.wrapper {
display: table;
margin: auto;
}
Ответ 5
Возможно, это то, что вы ищете - https://www.w3schools.com/css/css3_flexbox.asp
CSS:
#container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.block {
width: 150px;
height: 150px;
margin: 10px;
}
HTML:
<div id="container">
<div class="block">1</div>
<div class="block">2</div>
<div class="block">3</div>
</div>
Ответ 6
.contentWrapper {
float: left;
clear: both;
margin-left: 10%;
margin-right: 10%;
}
.repeater {
height: 9em;
width: 9em;
float: left;
margin: 0.2em;
position: relative;
text-align: center;
cursor: pointer;
}