Центруйте зображення в таблиці td у CSS


100

Я намагався вирівняти зображення по центру таблиці td. Він працював із встановленням поля margin-left до певного значення, але також збільшив розмір td, і це не зовсім те, що я хотів

Чи є якісь ефективні способи зробити це? Я використовував відсотки для висоти та висоти столу.


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

Відповіді:


176
<td align="center">

або через css, який більше є найкращим методом ...

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

23
Примітка до OP ... використовувати другий варіант Скотта, оскільки "вирівнювання" не підтримується в HTML5 надалі
isNaN1247

То як ми можемо подолати HTML5?
Кращий

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>

це також вирішило проблему для мене, але в тегу зображення, а не в таблиці або тегу 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 або клас із вертикальним вирівнюванням: середній застосовується до стовпця або контейнера.
mbokil
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.