2011-01-12 3 views
0

Моя дилемма - это (и должно быть просто, я подозреваю): у меня есть контейнер и набор предметов (оба divs). Следующий CSS применяется:Измельчающиеся предметы по горизонтали w/выравнивание по центру внутри контейнера

.container { 
    float:   left; 
    width:   100%; 
} 


.item { 
    margin:   32px; 
    text-align:  center; 
    position:  relative; 
    float:   left; 
} 

сама .item является контейнером, который может иметь практически любой набор произвольных элементов, но они должны быть выровнен по центру внутри него (в моем случае, как правило, содержит уменьшенное изображение и небольшой заголовок текста под ним). В то время как вышеприведенный CSS позволяет каждому элементу проходить горизонтально, как мне нравится, я не могу понять, как сделать выравнивание всей сетки (в отличие от текущей слева направо, как сейчас).

+1

Почему вы плавающие divs, когда вы устанавливаете ширину на 100% и отображаете ее? – Shahid

+0

Блочный дисплей на самом деле лишний, так как они являются divs, я полагаю. Не совсем уверен, что я понимаю, почему он все еще работает так, как он это делает, хотя ... – Hamster

ответ

1

редактировать
Изменение .item { display: block; } в .item { display: inline-block; }, заберите .item { float:left; } и добавить text-align: center; к .container

Вы можете увидеть здесь: http://jsfiddle.net/JMC_Creative/RQrRb/

Вы также можете положить .inner DIV с width:75%; margin: 0 auto;, а затем положить ваши .item s в , что, если вы ищете место на боках.

+0

@ Хозяин: проверьте редактируемый – JakeParis

+1

встроенный блок? Я даже не знал, что существует ... Глупые w3schools. – Hamster

+0

Это не будет работать во всех браузерах. В частности, IE6 и IE7 имеют недостаточную поддержку. См. Мой ответ ниже для подлинной кросс-браузерной реализации. – sholsinger

0

Вы хотите взглянуть на этот учебник от Mozilla. Это может быть выровнен по центру, просто установив родительский контейнер для text-align:center;

Cross Browser Inline Block

0

.container {
width: 100%;
}

.item {
margin: 32px;
text-align: center;
}

+0

Это делает все кубы '.item' стекем друг над другом. Это не то, что он ищет. – JakeParis

+0

В его кодировке .container width установлено значение 100%, а .item - это блок. Я думал, что он хочет. – Shahid

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