Как написать подпись под изображением?

У меня есть два изображения, которые нужно сохранить inline; Я хочу написать надпись под каждым изображением.

<center>
   <a href="#" onclick="location.href='http://example.com/hello'; return false;">
       <img src="hello.png" width="100px" height="100px">
   </a>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   <a href="#" onclick="location.href='http://example.com/hi'; return false;">
       <img src="hi.png" width="100px" height="100px">
   </a>
</center>

Как я могу реализовать?

Ответ 1

Figure и Figcaption теги:

<figure>
    <img src='image.jpg' alt='missing' />
    <figcaption>Caption goes here</figcaption>
</figure>

Надо любить HTML5.


См. пример

#container {
    text-align: center;
}
a, figure {
    display: inline-block;
}
figcaption {
    margin: 10px 0 0 0;
    font-variant: small-caps;
    font-family: Arial;
    font-weight: bold;
    color: #bb3333;
}
figure {
    padding: 5px;
}
img:hover {
    transform: scale(1.1);
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
}
img {
    transition: transform 0.2s;
    -webkit-transition: -webkit-transform 0.2s;
    -moz-transition: -moz-transform 0.2s;
    -o-transition: -o-transform 0.2s;
}
<div id="container">
    <a href="#">
        <figure>
            <img src="http://lorempixel.com/100/100/nature/1/" width="100px" height="100px" />
            <figcaption>First image</figcaption>
        </figure>
    </a>
    <a href="#">
        <figure>
             <img src="http://lorempixel.com/100/100/nature/2/" width="100px" height="100px" />
            <figcaption>Second image</figcaption>
        </figure>
    </a>
</div>

Ответ 2

CSS

#images{
    text-align:center;
    margin:50px auto; 
}
#images a{
    margin:0px 20px;
    display:inline-block;
    text-decoration:none;
    color:black;
 }

HTML

<div id="images">
    <a href="http://xyz.com/hello">
        <img src="hello.png" width="100px" height="100px">
        <div class="caption">Caption 1</div>
    </a>
    <a href="http://xyz.com/hi">
        <img src="hi.png" width="100px" height="100px"> 
        <div class="caption">Caption 2</div>
    </a>
</div>​

Скрипка здесь.

Ответ 3

<div style="margin: 0 auto; text-align: center; overflow: hidden;">
  <div style="float: left;">
    <a href="http://xyz.com/hello"><img src="hello.png" width="100px" height="100px"></a>
    caption 1
  </div>
 <div style="float: left;">
   <a href="http://xyz.com/hi"><img src="hi.png" width="100px" height="100px"></a>
   caption 2                      
 </div>
</div>

Ответ 4

Поместите изображение - допустим, его ширина составляет 140 пикселей - внутри ссылки:

<a><img src='image link' style='width: 140px'></a>

Затем поместите заголовок в поле a и задайте его ширину, меньшую размера вашего изображения, центрируя его:

<a>
  <img src='image link' style='width: 140px'>
  <div style='width: 130px; text-align: center;'>I just love to visit this most beautiful place in all the world.</div>
</a>

Затем, в теге link, стилизуйте ссылку, чтобы она больше не выглядела как ссылка. Вы можете придать ему любой цвет, который хотите, но просто удалите текстовое оформление, которое могут иметь ваши ссылки.

<a style='text-decoration: none; color: orange;'>
  <img src='image link' style='width: 140px'>
  <div style='width: 130px; text-align: center;'>I just love to visit this most beautiful place in all the world.</div>
</a>

Я поместил изображение с надписью в ссылку, чтобы текст не мог отодвинуть заголовок: заголовок связан с изображением ссылкой. Вот пример: http://www.alphaeducational.com/p/okay.html

Ответ 5

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

CSS

.images {
    text-align:center;
}
.images img {
    width:100px;
    height:100px;
}
.images div {
    width:100px;
    text-align:center;
}
.images div span {
    display:block;
}
.margin_right {
    margin-right:50px;
}
.float {
    float:left;
}
.clear {
    clear:both;
    height:0;
    width:0;
}

HTML

<div class="images">
    <div class="float margin_right">
        <a href="http://xyz.com/hello"><img src="hello.png" width="100px" height="100px" /></a>
        <span>This is some text</span>
    </div>
    <div class="float">
        <a href="http://xyz.com/hi"><img src="hi.png" width="100px" height="100px" /></a>
        <span>And some more text</span>
    </div>
    <span class="clear"></span>
</div>

Ответ 6

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

HTML

<div class="items">
<figure>
    <img src="hello.png" width="100px" height="100px">
    <figcaption>Caption 1</figcaption>
</figure>
<figure>
    <img src="hi.png" width="100px" height="100px"> 
    <figcaption>Caption 2</figcaption>
</figure></div>

CSS

.items{
text-align:center;
margin:50px auto;}


.items figure{
margin:0px 20px;
display:inline-block;
text-decoration:none;
color:black;}

https://jsfiddle.net/c7borg/jLzc6h72/3/

Ответ 7

Для отзывчивых изображений. Вы можете добавить изображение и исходные теги в теге figure.

<figure>
  <picture>
    <source media="(min-width: 750px)" srcset="images/image_2x.jpg"/>
    <source media="(min-width: 500px)" srcset="images/image.jpg" />
    <img src="images.jpg" alt="An image">
  </picture>
  <figcaption>Caption goes here</figcaption>
</figure>

Ответ 8

Тег <figcaption> в HTML5 позволяет вам вводить текст в изображение, например:

<figcaption>
Your text here
</figcaption>.

Затем вы можете использовать CSS, чтобы расположить текст там, где он должен быть на изображении.

Ответ 9

<table>
<tr><td><img ...><td><img ...>
<tr><td>caption1<td>caption2
</table>

Стиль по желанию.