Выравнивание поплавка: левый 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;
}