2010-08-16 4 views
11

Comme recueilli de Why align="center" not overriding on {text-align:right;} cet article, CSS devrait prendre la prescience au-dessus des attributs de disposition de vieux-modèle. Je travaille sur un projet où je dois injecter du contenu dans une cellule qui a le format:Comment remplacer td align = "center"?

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

Je ne veux pas que mon contenu soit centré, en essayant d'utiliser text-align = « left »-t pas remplacer le td-tag, comme suggéré dans l'article. Que puis-je faire pour remplacer le TD aligner attibute?

+0

Je réalise qu'il n'y a pas d'attribut CSS unique pour remplacer les alignements td; mais comment puis-je contrer l'effet de l'attribut align en utilisant CSS? – bjornl

Répondre

12

Si vous êtes autorisé à modifier le contenu de la td, vous pouvez envelopper les valeurs td avec une autre balise avec text-align: left;

résultant Tag serait:

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

Voici le nouveau CSS:

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

Si vous ne pouvez pas modifier la valeur de la cellule, une autre solution consiste à modifier l'attribut align en utilisant 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

Merci, Je vais aller pour le hack js semi-méchant, depuis TD aligner semble avoir des effets secondaires en plus d'aligner seulement du texte. Cela affecte aussi d'autres éléments (comme avoir une div divisée en largeur fixe autour d'un div avec margin: 0 auto; – bjornl

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

CSS:

td 
{ 
text-align: left; 
} 

Ou ajouter une classe à elle:

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

CSS:

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

Testés dans IE8 & FF3.6.8

Démo: http://jsfiddle.net/s8qhJ/

+2

Cette réponse est meilleure que celle qui a été marquée comme "meilleure réponse" pour ceux qui travaillent avec des mises en page de table dans la conception de courrier électronique HTML. Vous devez cibler spécifiquement la balise pour que cela fonctionne, car définir la propriété text-align sur un élément parent ne lui permettra pas de le remplacer. – OzzyTheGiant

0

Pour tous ceux qui cherchent spécifiquement à remplacer tous les éléments qui spécifient [ali gn], cela fera:

body [align] { text-align: center; } 
Questions connexes