web-dev-qa-db-ja.com

td align = "center"をオーバーライドする方法は?

なぜalign = "center"が{text-align:right;}をオーバーライドしないのか この記事から収集したように、CSSは古いスタイルのレイアウト属性よりも先見の明を持っている必要があります。次の形式のセルにコンテンツを挿入する必要があるプロジェクトに取り組んでいます。

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

記事で提案されているように、text-align = "left"を使用しようとしても、td-tagが上書きされないため、コンテンツを中央に配置したくありません。 TD整列属性をオーバーライドするにはどうすればよいですか?

12
bjornl

Tdの内容を変更できる場合は、text-align:left;を使用してtd値を別のタグでラップできます。

結果のタグは次のようになります。

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

新しいCSSは次のとおりです。

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

セル値を変更できない場合、別の回避策は、javascriptを使用してalign属性を変更することです。

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

IE8およびFF3.6.8でテスト済み

デモ: http://jsfiddle.net/s8qhJ/

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

CSS:

td
{
text-align: left;
}

または、それにクラスを追加します。

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

CSS:

td.mytd
{
text-align: left;
}
2
Kyle

[align]を指定するすべての要素をオーバーライドしようとしている人は、次のようにします。

body [align] { text-align: center; }
0
mattsven