2015-03-19 3 views
0

Я пытаюсь создать 4-х столбцовый макет в CSS. Каждая колонка имеет одинаковую ширину и содержит:Вертикально центрируйте четыре чувствительных столбца в css

A. a image B. текст, относящийся к изображению.

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

Следующий фрагмент кода показывает, что я до сих пор:

HTML

<div class="sections"> 
    <div> 
     <img src="http://placehold.it/110x110"/> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    </div> 
    <div> 
     <img src="http://placehold.it/110x110"/> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    </div> 
    <div> 
     <img src="http://placehold.it/110x110"/> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    </div> 
    <div> 
     <img src="http://placehold.it/110x110"/> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    </div> 
</div> 

CSS

.sections { display: table; margin: 0 auto; } 
.sections div { text-align: center; width: 20em; padding: 0 0.5em 1em 0; display: table-cell; vertical-align: center; } 

Я знаю, что очень близко к где мне нужно быть, но там должно быть быть тем, что я не настраиваю правильно, и я ломаю себе голову над этим, любая помощь очень ценится!

+0

ли вы имеете в виду, как один из них поверх друг друга, как в том, отзывчивым? –

+1

Думаю, вам нужны медиа-запросы в вашей жизни. [Ссылка на разработчиков Google о медиа-запросах] (https://developers.google.com/web/fundamentals/layouts/rwd-fundamentals/use-media-queries?hl=ru). – dowomenfart

+0

Взгляните на это: http://learn.shayhowe.com/advanced-html-css/responsive-web-design/. Сделайте вашу жизнь проще. – Roope

ответ

2

Если медиа-запросы не помогут вам просто изменить .sections div показать значение свойства inline-block.

.sections { 
 
    display: table; 
 
    margin: 0 auto; 
 
} 
 
.sections div { 
 
    text-align: center; 
 
    width: 20em; 
 
    padding: 0 0.5em 1em 0; 
 
    display: inline-block; /* Thats all you need */ 
 
    vertical-align: middle; 
 
}
<div class="sections"> 
 
    <div> 
 
    <img src="http://placehold.it/110x110" /> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
 
    </div> 
 
    <div> 
 
    <img src="http://placehold.it/110x110" /> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
 
    </div> 
 
    <div> 
 
    <img src="http://placehold.it/110x110" /> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
 
    </div> 
 
    <div> 
 
    <img src="http://placehold.it/110x110" /> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
 
    </div> 
 
</div>

+0

Это немного поближе, но он не делает такой отзывчивый сдвиг столбца, который я описал выше. Как указано @Josh Burgess в приведенных выше комментариях, фактическое исправление было отображено: table-cell для отображения: встроенный блок в CSS для разделов .sections> div, а также margin: 0 auto в классе .sections – AGE

+0

вы были бы на 100% правильны, за исключением того, что в заявлении OP говорится: «(...), а также расширяйте до четырех столбцов рядом друг с другом, когда экран расширяется. (...)». Этот код действительно достигает столбцов, уложенных друг на друга, однако он не достигает части «столбцы рядом друг с другом». Если вы измените ответ на отображение: inline-block вместо этого, вам не придется полагаться на медиа-запросы. – AGE

+0

в любое время, я приму ваш ответ после того, как он будет рассмотрен экспертом, спасибо за вашу помощь, независимо от того, – AGE

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