Искал в Интернете в течение нескольких недель, но не смог найти ответ, который удовлетворял бы все мои потребности (только частично), помощь очень приветствуется.
Чего я хочу и чего добился:
- Обычная совместимость с HTML5 и CSS
- Показать изображение в статье
- Изображение должно иметь подпись
- Подпись должна быть под изображением
- Подпись должна быть ограничена размером изображения по горизонтали.
- Заголовок может быть длиннее одной строки, а текст должен переноситься на следующую строку (по-прежнему в пределах размера изображения).
- Изображение и подпись должны плавать как группа слева или справа (подумайте об использовании
<figure class="left">
) - Текст статьи должен обтекать изображение и подпись
- Размер изображения варьируется (первое изображение, например, 200 пикселей, второе изображение где-то еще в тексте — 320 пикселей и т. д.)
И теперь я хотел бы добавить эти требования:
- Мне не нравится добавлять исходную ширину изображения, например
<figure class="left" style="width:200px">
, но только если нет другого пути. - Отзывчивый дизайн: когда ширина изображения будет занимать более 50% ширины экрана, она должна быть ограничена 50% ширины дисплея.
- Когда ширина дисплея составляет 320 пикселей или меньше, изображение не должно плавать, а должно быть блочным элементом, поэтому текст статьи не обтекает изображение.
Где я ушел:
figure {
display: inline
}
figcaption {
display: block
}
figure.left {
float: left
}
figure.right {
float: right
}
<p>This is a part of the text of the article and at this point a image is inserted at the left side
<figure class="left" style="width:250px">
<img src="image.png" alt="img txt">
<figcaption>image caption and a lot of text</figcaption>
</figure>
and the article text goes on and on so that it will wrap around the image</p>
(Я пропустил отступы/поля и тому подобное, чтобы это выглядело лучше.)