Как написать подпись под изображением?
У меня есть два изображения, которые нужно сохранить inline; Я хочу написать надпись под каждым изображением.
<center>
<a href="#" onclick="location.href='http://example.com/hello'; return false;">
<img src="hello.png" width="100px" height="100px">
</a>
<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>
Стиль по желанию.