2010-08-16 31 views
11

Según lo recopilado en Why align="center" not overriding on {text-align:right;} en este artículo, CSS debe tener preeminencia sobre los atributos de diseño antiguos. Estoy trabajando en un proyecto en el que tengo para inyectar contenido en una celda que tiene el formato:Cómo sobrescribir td align = "center"?

<td align="center">...</td>

Yo no quiero que mi contenido a estar centrado, tratando de usar text-align = "izquierda" hace no anule la etiqueta td, como se sugiere en el artículo. ¿Qué puedo hacer para anular el atributo de alineación TD?

+0

Me doy cuenta de que no hay un único atributo CSS para anular la alineación de td; pero ¿cómo puedo contrarrestar el efecto del atributo de alineación usando CSS? – bjornl

Respuesta

12

Si se le permite cambiar el contenido de la td, a continuación, puede ajustar los valores de TD con otra etiqueta con el texto-align: left;

Tag resultante sería:

<td align="center"> 
    <div class="left">content here</div> 
</td> 

Aquí es el nuevo CSS:

td div.left { text-align:left; } 

Si no puede modificar el valor de la celda, otra solución es modificar el atributo de alineación usando javascript, En jquery:

$(document).ready(function(){ 
    $('td [align=center]').attr('align','left'); 
    // $('td [align=center]').attr('align','left').css('text-align','left'); //or still not working 
}); 
+0

Gracias, Voy a ir por el semi-desagradable js hackeo, ya que la alineación de TD parece tener efectos secundarios además de alinear solo el texto. También afecta a otros elementos (similar a tener un envoltorio div de ancho fijo alrededor de un div con margen: 0 auto; establecer). – bjornl

2
<td align="center">...</td> 

CSS:

td 
{ 
text-align: left; 
} 

o añadir una clase a la misma:

<td align="center" class="mytd">...</td> 

CSS:

td.mytd 
{ 
text-align: left; 
} 
6
td { text-align: left; } 

Probado en IE8 & FF3.6.8

Demostración: http://jsfiddle.net/s8qhJ/

+2

Esta respuesta es mejor que la que se marcó como "mejor respuesta" para aquellos que están trabajando con diseños de tabla en el diseño de correo electrónico HTML. Debe dirigirse específicamente a la etiqueta para que funcione, ya que al establecer la propiedad text-align en un elemento primario no se le permitirá sobrescribirlo. – OzzyTheGiant

0

Para cualquier persona que busque específicamente anular todos los elementos que especifiquen [ali gn], esto va a hacer:

body [align] { text-align: center; } 
Cuestiones relacionadas