2013-10-02 5 views
8

У меня есть 9 изображений в общей сложности и по три на каждой строке, мне удалось добавить подпись для одного из моих изображений, но не удалось сделать это для других, поскольку она просто центрирует все под ним и не выровненный текст в строки на изображение.Как выровнять подпись под изображением

<figure> 
<center> 
<img src='images/album1.jpg' alt='missing' /> 
<figcaption>Album name goes here 
<br>Year goes here 
<br>artist name goes here</figcaption> 

<img src='images/album2.jpg' alt='missing' /> 
<figcaption>Album name goes here 
<br>Year goes here 
<br>artist name goes here</figcaption> 

<img src='images/album2.jpg' alt='missing' /> 
<figcaption>Album name goes here 
<br>Year goes here 
<br>artist name goes here</figcaption> 
</figure><center> 

И так далее.

+2

''

осуждался около 15 лет назад. – j08691

ответ

24

Я бы настроить код так:

<figure> 
    <img src='http://placehold.it/200x200' alt='missing' /> 
    <figcaption>Album name goes here 
     <br>Year goes here 
     <br>artist name goes here</figcaption> 
</figure> 

и примените следующий CSS:

figure { 
    display: inline-block; 
    border: 1px dotted gray; 
    margin: 20px; /* adjust as needed */ 
} 
figure img { 
    vertical-align: top; 
} 
figure figcaption { 
    border: 1px dotted blue; 
    text-align: center; 
} 

Поскольку каждый figure является встроенный блок, вы можете в основном повторите блок три раза в строке, либо добавив <br> после каждого третьего, либо обернув три в элемент блока, либо используя CSS3 nth-of-type(3n), чтобы добавить разрыв строки или аналогичный.

Используйте text-align: center на figcaption, чтобы выровнять тест по центру.

См демо по адресу: http://jsfiddle.net/audetwebdesign/4njG8/

Результаты выглядят следующим образом (для достаточно широкий экран):

enter image description here

+1

Это действительно в глубине Марк. Сейчас я даю ему шанс и спасибо! –

+1

Я хотел бы добавить, что если ваши подписи к рисункам имеют неравные высоты, вы все равно можете выровнять изображения, добавив фигуру {vertical-align: top; ...} '. –

+0

Если у вас длинный текст (в «Название альбома идет здесь ...»), то это, к сожалению, растягивает контейнер изображений, поэтому требуется некоторая жесткая кодировка –

1

Каждая фигура должна содержать только одно изображение и один рисунок figcaption.

<figure> 
    <img> 
    <figcaption> 
    </figcaption> 
</figure> 

BTW ... элемент «center» больше не существует.

Codepen Example

+0

Вы забыли ** после ** figvaption ** tag. –

+0

Понимаю, я дам ему еще один выстрел и посмотрю, исправляет ли он это. –

+0

Также, что значит о

больше не существует? Есть ли лучший способ реализовать его или? –

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