выровнять ссылку по вертикали рядом с изображением с помощью CSS [дубликата]

0

РЕДАКТИРОВАТЬ:
Да, это дубликат, моя ошибка (я новичок в CSS). Но может ли кто-нибудь объяснить обоснование выравнивания изображения, в отличие от ссылки/текста? Существует ли какая-то более масштабная концепция, которая поможет мне лучше понять концепции CSS и избежать таких проблем в будущем?

Оригинальная (повторяющаяся) часть:
У меня есть сценарий, где я хочу иметь ссылку рядом с изображением на моей странице, и ссылка должна быть выровнена так, чтобы она была вертикально центрирована с изображением. Конечно, я не знаю точной высоты изображения, поэтому это нужно делать динамически.

Учитывая этот кусок HTML, как бы я мог добиться такой вещи с помощью CSS?

<div class="myDiv">
    <img src="myImage"/>
    <a href="#">My Link!</a>
</div>

У меня есть скрипка в этом месте, и вы заметите, что я поместил некоторую информацию о размере в класс изображения. Это просто для имитации изображения неизвестного размера, поэтому, пожалуйста, рассмотрите вопрос без него.

  • 0
    @MarcB Спасибо, я новичок в CSS, поэтому я подумал, что есть разница. Приятно видеть, что сообщество оправдывает свою репутацию.
  • 2
    CSS действительно не знает об изображениях. это просто блоки для отображения на экране. текстовый блок, блок изображения ... блоки блоков блоков.
Показать ещё 4 комментария
Теги:
layout

4 ответа

1
Лучший ответ

4.8. Вертикальное выравнивание: свойство выравнивания базовой линии с вертикальным выравниванием

Применяется к элементам inline-level и table-cell

Это свойство влияет на вертикальное позиционирование встроенных ящиков, генерируемых элементом встроенного уровня внутри строки строки. Следующие значения имеют смысл только для элемента родительского встроенного уровня или для элемента родительского блока, если этот элемент генерирует анонимные встроенные поля; они не действуют, если такой родитель не существует.

Хотя элементы a и img по умолчанию являются inline, свойство vertical-align:middle должно использоваться вместо элемента img.

Пример jsFiddle

.myDiv img {
    vertical-align: middle;
}
  • 0
    Конечно, потому что выравнивание изображения - это то, что я хотел сделать. ОК, это работает, но почему это так?
  • 0
    @AR Я добавил некоторые характеристики.
Показать ещё 1 комментарий
0

просто используйте vertical-align: middle;

.myDiv img {
    vertical-align: middle;
}
0

попробуй это:

.myDiv img{
vertical-align:middle;
}

DEMO

0

Добавить vertical-align:middle; к изображению вместо ссылки.

Обновлена скрипка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню