РЕДАКТИРОВАТЬ:
Да, это дубликат, моя ошибка (я новичок в CSS). Но может ли кто-нибудь объяснить обоснование выравнивания изображения, в отличие от ссылки/текста? Существует ли какая-то более масштабная концепция, которая поможет мне лучше понять концепции CSS и избежать таких проблем в будущем?
Оригинальная (повторяющаяся) часть:
У меня есть сценарий, где я хочу иметь ссылку рядом с изображением на моей странице, и ссылка должна быть выровнена так, чтобы она была вертикально центрирована с изображением. Конечно, я не знаю точной высоты изображения, поэтому это нужно делать динамически.
Учитывая этот кусок HTML, как бы я мог добиться такой вещи с помощью CSS?
<div class="myDiv">
<img src="myImage"/>
<a href="#">My Link!</a>
</div>
У меня есть скрипка в этом месте, и вы заметите, что я поместил некоторую информацию о размере в класс изображения. Это просто для имитации изображения неизвестного размера, поэтому, пожалуйста, рассмотрите вопрос без него.
4.8. Вертикальное выравнивание: свойство выравнивания базовой линии с вертикальным выравниванием
Применяется к элементам inline-level и table-cell
Это свойство влияет на вертикальное позиционирование встроенных ящиков, генерируемых элементом встроенного уровня внутри строки строки. Следующие значения имеют смысл только для элемента родительского встроенного уровня или для элемента родительского блока, если этот элемент генерирует анонимные встроенные поля; они не действуют, если такой родитель не существует.
Хотя элементы a
и img
по умолчанию являются inline
, свойство vertical-align:middle
должно использоваться вместо элемента img
.
.myDiv img {
vertical-align: middle;
}
просто используйте vertical-align: middle;
.myDiv img {
vertical-align: middle;
}
Добавить vertical-align:middle;
к изображению вместо ссылки.