Imagen central en tabla td en CSS


100

Intenté alinear una imagen con el centro de la tabla td. Funcionó con la configuración de margin-left en un valor específico, pero también aumentó el tamaño de td y eso no es exactamente lo que quería

¿Hay alguna forma eficaz de hacer esto? Usé porcentajes para la altura y el ancho de la mesa.


pregunta relacionada: stackoverflow.com/questions/8639383/… Además de darle al padre (aquí td) un estilo de alineación de texto: centro, es posible que deba darle al hijo (aquí, img) un estilo de visualización: bloque o pantalla : inline-block
— mathheadinclouds

Respuestas:


176
<td align="center">

o vía css, que es el método preferido más ...

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

23
Nota para OP ... use la segunda opción de Scott ya que 'alinear' no es compatible con HTML5 en el futuro
— isNaN1247

Entonces, ¿cómo podemos superar HTML5?
— Mejor

25
No superas HTML5 ... te adaptas a él. @beardtwizzle .. gracias por agregar eso.
— Scott

1
¿Y si también lo quiero centrado desde arriba?
— Sohaib

11
@SilentPro<td style="text-align: center; vertical-align: middle;">
— Scott

55

Manera simple de hacerlo para html5 en css:

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

}

Funcionó para mí perfectamente.


Funciona perfectamente; <td style = "text-align: center;"> no funciona, <td align = "center"> funciona, pero no es compatible con HTML5
— user2431763

9

Centre un div dentro de td usando margin, el truco consiste en hacer que el ancho del div sea el mismo que el ancho de la imagen.

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

1
@Saike No realmente, <div>los correos electrónicos se eliminan de la mayoría de los correos electrónicos y no se consideran una buena práctica.
— crmpicco

6

Esto solucionó problemas para mí:

<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>

esto también solucionó el problema para mí, pero en la etiqueta de imagen, no en la tabla o etiqueta td
— Sumon Bappi

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

o

td
{
    text-align:center;
}

en el archivo CSS


5

Establezca un valor fijo de su imagen en su css y agregue un auto-margin / padding en la imagen para ...

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

O establezca el text-alignen el centro ...

td {
    text-align: center;
}

2
td image 
{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

gran respuesta genérica
— Dan

0

Otra opción es el uso en <th>lugar de <td>. <th>por defecto al centro; <td>predeterminado a la izquierda.


Lo solucioné, pero en el futuro solo use comillas invertidas (`) a cada lado de los elementos HTML para asegurarse de que se muestren.
— Jeremy Caney

-6

Según mi análisis y búsqueda en Internet también, no pude encontrar una manera de centrar la imagen centrada verticalmente usando <div>solo era posible usando <table>porque la tabla proporciona la siguiente propiedad:

valign="middle"

3
No se recomienda esta sugerencia ya que no es compatible con HTML5. Es mejor usar el estilo CSS o la clase con alineación vertical: centro aplicado a la columna o contenedor.
— mbokil
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.