Выравнивать изображения бок о бок в html
Я хочу 3 изображения рядом с надписью, на данный момент у меня есть 3 изображения, идущие сверху вниз, с надписью слева, а не по центру. Как заставить изображения появляться рядом с надписью в середине? Благодарю.
<div class="image123">
<img src="/images/tv.gif" height="200" width="200" style="float:left">
<p>This is image 1</p>
<img class="middle-img" src="/images/tv.gif"/ height="200" width="200">
<p>This is image 2</p>
<img src="/images/tv.gif"/ height="200" width="200">
<p>This is image 3</p>
</div>
Ответы
Ответ 1
Ты имеешь в виду что-то вроде этого?
<div class="image123">
<div class="imgContainer">
<img src="/images/tv.gif" height="200" width="200"/>
<p>This is image 1</p>
</div>
<div class="imgContainer">
<img class="middle-img" src="/images/tv.gif"/ height="200" width="200"/>
<p>This is image 2</p>
</div>
<div class="imgContainer">
<img src="/images/tv.gif"/ height="200" width="200"/>
<p>This is image 3</p>
</div>
</div>
с типом imgContainer как
.imgContainer{
float:left;
}
Также см. jsfiddle.
Ответ 2
Не совсем уверен, что вы имели в виду под "надписью посередине", но здесь одно решение, чтобы ваши изображения появлялись рядом, используя превосходное display:inline-block
:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title></title>
<style>
div.container {
display:inline-block;
}
p {
text-align:center;
}
</style>
</head>
<body>
<div class="container">
<img src="http://placehold.it/350x150" height="200" width="200" />
<p>This is image 1</p>
</div>
<div class="container">
<img class="middle-img" src="http://placehold.it/350x150"/ height="200" width="200" />
<p>This is image 2</p>
</div>
<div class="container">
<img src="http://placehold.it/350x150" height="200" width="200" />
<p>This is image 3</p>
</div>
</div>
</body>
</html>
Ответ 3
Попробуйте использовать этот формат
<figure>
<img src="img" alt="The Pulpit Rock" width="304" height="228">
<figcaption>Fig1. - A view of the pulpit rock in Norway.</figcaption>
</figure>
Это даст вам реальную подпись (просто добавьте 2-й и 3-й imgs, используя Float:left
, как и другие)
Ответ 4
Попробуйте this.
CSS
.imageContainer {
float: left;
}
p {
text-align: center;
}
HTML
<div class="image123">
<div class="imageContainer">
<img src="/images/tv.gif" height="200" width="200" />
<p>This is image 1</p>
</div>
<div class="imageContainer">
<img class="middle-img" src="/images/tv.gif"/ height="200" width="200" />
<p>This is image 2</p>
</div>
<div class="imageContainer">
<img src="/images/tv.gif"/ height="200" width="200"/>
<p>This is image 3</p>
</div>
</div>
Ответ 5
Я предлагаю использовать контейнер для каждого img
p
следующим образом:
<div class="image123">
<div style="float:left;margin-right:5px;">
<img src="/images/tv.gif" height="200" width="200" />
<p style="text-align:center;">This is image 1</p>
</div>
<div style="float:left;margin-right:5px;">
<img class="middle-img" src="/images/tv.gif/" height="200" width="200" />
<p style="text-align:center;">This is image 2</p>
</div>
<div style="float:left;margin-right:5px;">
<img src="/images/tv.gif/" height="200" width="200" />
<p style="text-align:center;">This is image 3</p>
</div>
</div>
Затем примените float:left
к каждому контейнеру. Я добавляю и 5px
margin right
, поэтому между каждым изображением есть пробел. Также всегда закрывайте свои элементы. Возможно, в теге html img
не важно закрыть, но в XHTML есть.
fiddle
Также дружеский совет. Старайтесь избегать встроенных стилей как можно больше. Посмотрите здесь:
HTML
<div class="image123">
<div>
<img src="/images/tv.gif" />
<p>This is image 1</p>
</div>
<div>
<img class="middle-img" src="/images/tv.gif/" />
<p>This is image 2</p>
</div>
<div>
<img src="/images/tv.gif/" />
<p>This is image 3</p>
</div>
</div>
CSS
div{
float:left;
margin-right:5px;
}
div > img{
height:200px;
width:200px;
}
p{
text-align:center;
}
Обычно рекомендуется использовать связанные таблицы стилей, потому что:
- Они могут кэшироваться браузерами для производительности
- Как правило, гораздо проще поддерживать перспективы развития.
источник
fiddle
Ответ 6
Вот как бы я это сделал (однако я бы использовал внешнюю таблицу стилей для этого проекта и всех остальных, просто упростил работу с ними. Также этот пример представлен с помощью html5.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.container {
display:inline-block;
}
</style>
</head>
<body>
<div class="container">
<figure>
<img src="http://placehold.it/350x150" height="200" width="200">
<figcaption>This is image 1</figcaption>
</figure>
<figure>
<img class="middle-img" src="http://placehold.it/350x150"/ height="200" width="200">
<figcaption>This is image 2</figcaption>
</figure>
<figure>
<img src="http://placehold.it/350x150" height="200" width="200">
<figcaption>This is image 3</figcaption>
</figure>
</div>
</body>
</html>
Ответ 7
В вашем CSS:
.image123{
float:left;
}