2013-07-26 2 views
0

Я пытаюсь создать что-то вроде галереи, которая показывает различное количество изображений в строке на основе ширины браузера. Это уже достигнуто с использованием overflow: hidden во внешнем div и float: left во внутреннем div.CSS - выравнивание завернутых плавающих divs в центр

Однако, что происходит с этим, так это то, что мои изображения всегда выровнены влево, оставляя много пробелов справа. Как сделать так, чтобы галерея всегда была сосредоточена на экране независимо от того, сколько изображений в каждой строке.

Мой код на http://codepen.io/anon/pen/KzqAs

Большое спасибо. :)

+0

Ссылка, кажется, сломана. – mohkhan

+0

Здесь ничего нет, мсье. Мое гигантское увеличительное стекло на палке не знает лжи. –

+0

@mohkhan извиняется за неправильное форматирование ссылки. теперь работает. – chongzixin

ответ

2

Как об этом: http://codepen.io/anon/full/mtBbF

HTML

<div class="container"> 
    <div class="red box">red</div> 
    <div class="blue box">blue</div> 
    <div class="black box">black</div> 
</div> 

CSS

body{ 
    text-align:center; /*You would need to define this in a parent of .container*/ 
} 
.container{ 
    display: inline-block; 
    margin: 0 auto; 
    text-align: left; 
} 
.box { 
    width: 300px; 
    height: 300px; 
    float: left; 
} 
+0

Это именно то, что я хочу, но я все еще пытаюсь заставить его вписаться в мой существующий код. Разве это имеет значение, если мой 'class = «box» 'фактически применялся к' table' вместо 'div'? и также задает ширину' 'width' и' height'? – chongzixin

+0

Ну, с таблицами гораздо сложнее работать в CSS, могу ли я спросить, зачем вам это нужно? Для размеров элементов я не думаю, что их необходимо явно указывать, но вы должны были заметить эти различия в кодеде, чтобы я мог разместить их в своем решении. –

+0

потому что каждое «изображение» в моей галерее в настоящее время составлено из таблицы с одной строкой и двумя столбцами. В первом столбце отображается фактическое изображение, а во втором столбце показаны некоторые детали и есть некоторые кнопки в нем. – chongzixin

0

Demonstration

Вам нужно использовать идентификатор (или класс) в главном div. Set width: 300+px and margin: auto Также ваши коробки должны быть с display: inline-block, чтобы они могли начать «inline» Я немного изменил цвета ящиков для лучшей видимости.

+0

привет. да, я попробовал это, но это, похоже, не то, что я хочу.Мне нужно, чтобы ящики переходили к следующей строке автоматически, когда ширина браузера слишком короткая. Поэтому в вашей демонстрации «оранжевый» должен автоматически перейти к следующей строке. – chongzixin

+0

Измените ширину на 300 и увидите, что «оранжевый» переходит на следующую строку. – mtt

Смежные вопросы