Центрировать изображение в таблице td в CSS


101

Я пытался выровнять изображение по центру стола тд. Он работал с установкой margin-left на определенное значение, но он также увеличивал размер td, и это не совсем то, что я хотел

Есть ли эффективные способы сделать это? Я использовал проценты для высоты и ширины таблицы.


связанный вопрос: stackoverflow.com/questions/8639383/… Помимо предоставления родительскому элементу (здесь td) стиля text-align: center, вам, возможно, придется дать дочернему элементу (здесь img) стиль отображения: блок или отображение : inline-block
mathheadinclouds

Ответы:


177
<td align="center">

или через css, который сейчас является предпочтительным методом ...

<td style="text-align: center;">

23
Примечание для OP ... используйте второй вариант Скотта, поскольку 'align' не поддерживается в HTML5 в будущем
isNaN1247

Итак, как мы можем преодолеть HTML5?
Best

25
Вы не преодолеваете HTML5 ... вы адаптируетесь к нему. @beardtwizzle .. спасибо, что добавили это.
Скотт

1
Что, если я хочу, чтобы это тоже было по центру сверху,
Сохаиб

11
@SilentPro<td style="text-align: center; vertical-align: middle;">
Скотт

55

Простой способ сделать это для html5 в css:

td img{
    display: block;
    margin-left: auto;
    margin-right: auto;

}

У меня отлично сработало.


Работает отлично; <td style = "text-align: center;"> не работает, <td align = "center"> работает, но не поддерживается в HTML5
user2431763 07

9

Центрируйте div внутри td с помощью поля, трюк заключается в том, чтобы сделать ширину div такой же, как ширина изображения.

<td>
    <div style="margin: 0 auto; width: 130px">
          <img src="me.jpg" alt="me" style="width: 130px" />
    </div>
</td>

1
@Saike Не совсем так, <div>в большинстве писем они удаляются и не считаются хорошей практикой.
crmpicco

6

Это исправленные проблемы для меня:

<style>
.super-centered {
    position:absolute; 
    width:100%;
    height:100%;
    text-align:center; 
    vertical-align:middle;
    z-index: 9999;
}
</style>

<table class="super-centered"><tr><td style="width:100%;height:100%;" align="center"     valign="middle" > 
<img alt="Loading ..." src="/ALHTheme/themes/html/ALHTheme/images/loading.gif">
</td></tr></table>

это также исправило проблему для меня, но в теге изображения, а не в теге table или td
Sumon Bappi

6
<table style="width:100%;">
<tbody ><tr><td align="center">
<img src="axe.JPG" />
</td>
</tr>
</tbody>
</table>

или

td
{
    text-align:center;
}

в файле CSS


5

Установите фиксированное значение вашего изображения в CSS и добавьте auto-margin / padding к изображению, чтобы ...

div.image img {
    width: 100px;
    margin: auto;
}

Или установите text-alignпо центру ...

td {
    text-align: center;
}


0

Другой вариант - использование <th>вместо <td>. <th>по умолчанию в центре; <td>по умолчанию слева.


Я исправил это для вас, но в будущем просто используйте обратные кавычки (`) по обе стороны от элементов HTML, чтобы они отображались.
Джереми Кейни,

-6

Согласно моему анализу и поиску в Интернете, я не смог найти способ центрировать изображение по вертикали по центру, используя <div>это было возможно только с использованием, <table>потому что таблица предоставляет следующее свойство:

valign="middle"

3
Это предложение не рекомендуется, поскольку оно не поддерживается в HTML5. Лучше использовать стиль или класс CSS с vertical-align: middle, примененным к столбцу или контейнеру.
mbokil
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.