Який найкращий і найпростіший спосіб вертикального центрування тексту поруч із зображенням у форматі html? Повинна бути агностична версія / тип браузера. Чисте рішення HTML / CSS.
Відповіді:
Це може допомогти вам розпочати.
Я завжди повертаюся до цього рішення . Не надто хакі і отримує роботу.
EDIT: Я повинен зазначити, що ви можете досягти бажаного ефекту за допомогою наступного коду (пробачте вбудовані стилі; вони повинні бути на окремому аркуші). Здається, вирівнювання за замовчуванням на зображенні (базовій лінії) призведе до вирівнювання тексту до базової лінії; встановивши це на середину, ви отримуєте гарні результати, принаймні у FireFox 3.
<div>
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.svg" style="vertical-align: middle;" width="100px"/>
<span style="vertical-align: middle;">Here is some text.</span>
</div>
Чи виключає "чистий HTML / CSS" використання таблиць? Тому що вони легко зроблять те, що ви хочете:
<table>
<tr>
<td valign="top"><img src="myImage.jpg" alt="" /></td>
<td valign="middle">This is my text!</td>
</tr>
</table>
Запаліть мене всім, що вам подобається, але це працює (і працює у старих, незграбних браузерах).
Є кілька способів: Використовуйте атрибут тегу зображення align = "absmiddle" або знайдіть зображення та текст у контейнері DIV або TD у таблиці та використовуйте
style="vertical-align:middle"
Це весело. Якщо ви заздалегідь знаєте висоту контейнера тексту, ви можете використовувати висоту рядка, рівну цій висоті, і вона повинна центрувати текст вертикально.
line-heightмого spanрівного imgнаступному поруч це ідеально вишикувало.
Є кілька варіантів:
Моїм улюбленим варіантом буде перший варіант, якщо це короткий простір, або останній інакше.
Я рекомендую використовувати таблиці з <td valign="middle">(як вже згадувалося inkedmn , це працює у всіх браузерах), але якщо ви обгортаєте посиланням, ось як це зробити (це працює і в потворних старих браузерах, як Opera 9):
<a href="/" style="display: block; vertical-align: middle;">
<img src="/logo.png" style="vertical-align: middle;"/>
<span style="vertical-align: middle;">Sample text</span>
</a>
Одним з основних способів, який приходить на розум, було б помістити елемент у таблицю і мати дві комірки, одну з текстом, іншу із зображенням і використовувати style = "valign: center" з тегами.
valign="center"зstyle="vertical-align:middle"