Я пытаюсь выровнять изображение и текст по вертикали:
+-------------------------+ -- Viewport
| Text text text |
| +-----+ text text text |
| |IMAGE| text text text |
| +-----+ text text text |
| text text text |
+-------------------------+
Это прекрасно работает, если текст не переносится. Если текст шире, чем ширина области просмотра, он больше не работает. Я думаю, что это вызвано настройкой display: inline-block:
<a href="#">
<img style="display: inline-block; vertical-align: middle; margin-right: 8px;" src="images/arrow_black.png" />
<span style="display: inline-block; vertical-align: middle;">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonum eirmod tempor invidunt ut labore et dolore
</span>
</a>
Результат:
+---------------------------------------------------------------------+ -- Viewport
| |
| +-----+ |
| |IMAGE| text text text text text text text text text text text text |
| +-----+ |
| |
+---------------------------------------------------------------------+
+-------------------------+ -- Viewport
| +-----+ Text text text |
| |IMAGE| text text text |
| +-----+ text text text |
| text text text text |
+-------------------------+
Если я попытаюсь плавать элементы, изображение всегда будет сверху, а не по вертикали в середине текста:
<a href="#">
<img style="display: block; vertical-align: middle; margin-right: 8px; float: left;" src="/images/arrow_black.png" />
<span style="display: block; overflow: auto;">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</span>
</a>
Результат:
+-------------------------+ -- Viewport
| +-----+ Text text text |
| |IMAGE| text text text |
| +-----+ text text text |
| text text text |
| text text text |
| text text text |
+-------------------------+
Я видел несколько решений этой проблемы, используя html-таблицы или css-таблицы (display: table и display: table-cell), но это не вариант, потому что он должен работать со всеми типами браузеров ( настольный и мобильный).
К тому же я не знаю никаких размеров. Ни изображения, ни текста. Поэтому я не могу использовать какое-либо «решение для отступа или отступа».
РЕДАКТИРОВАТЬ : Я создал демо-скрипку (на основе того, что создал NGLN, кстати: спасибо за это!), Который показывает результат, который я ищу , Но я пытаюсь архивировать это без использования display: table-cell ... какие-нибудь идеи?