Отличное решение @BryceHowitson.
Я только что решил эту проблему и придумал вариант вашего подхода.Я поместил медиа-запрос на абзац текста, который следовал за изображением.
Мое решение предназначено для свойства clear в абзаце, который следует за плавающим изображением.Когда разрешение экрана оставляет достаточно места рядом с плавающим изображением для удовлетворительной визуализации текста, абзац оборачивается вокруг изображения.Когда доступная ширина слишком мала для удовлетворительной визуализации текста, к абзацу применяется «clear: both», и абзац перемещается вниз под плавающим изображением.
Один «за» для этого подхода - CSSПравило применяется к элементу, поведение которого мы пытаемся контролировать.
Однако то, что решение @ BryceHowitson достигает, а мое - нет, это центрирование изображения, когда перенос последующего текста отключен.
CSS
.p-clear {
@media (min-width: 400px) {
clear: none;
}
@media (max-width: 400px) {
clear: both;
}
}
HTML
<img src="..." width="300px">
<p class="p-clear">text that needs at least 100px width</p>