32

古いサイトをリファクタリングしていますが、その迷路はテーブルでいっぱいです。私たちは HTML5 に移行しており、テーブルがいっぱいになっているのを修正する必要があります

<td align="center">

コード。クラスを作成して部分的な解決策を見つけました

.centered {
    text-align: center;
}

テキストを含むすべての TD に割り当てます。
しかし、これは画像やその他の要素では機能しません。

margin: auto;

どちらも機能しません。
TD 内のすべてのコンテンツを中央に配置する最速の方法は何ですか?

4

5 に答える 5

37

それらがブロック レベルの要素である場合、それらは の影響を受けませんtext-align: center;。誰かが設定img { display: block; }した可能性があり、それはそれを台無しにしています。あなたが試すことができます:

td { text-align: center; }
td * { display: inline; }

希望どおりに見える場合は、 * を次のような目的の要素に置き換える必要があります。

td img, td foo { display: inline; }
于 2013-06-07T13:59:13.313 に答える
5

「廃止された」機能への継続的なサポートも必要とする HTML5 CR によると、このalign=center属性はややこしいものです。テーブルのレンダリング ルールは、次のように述べていますtd。その属性を持つ要素は、「プレゼンテーション ヒントで 'text-align' プロパティが 'center' に設定されているかのように、テキストをそれ自体の中央に配置し、子孫を中央に配置することが期待されます。」< /p>

また、子孫の整列は、ブラウザが「'auto' 以外の値を計算する 'margin-left' プロパティと 'margin-right' プロパティの両方を持ち、過度に制約されている子孫のみを整列させるように定義されています。使用された値がより大きな値に強制され、それ自体には適用可能な align 属性がない 2 つのマージンのうちの 1 つ。複数の要素が特定の子孫に配置される場合、最も深くネストされたそのような要素が他の要素をオーバーライドすることが期待されます。整列された要素は、それに応じて設定された左マージンと右マージンの使用値を持つことによって整列されることが期待されます。」</p>

なので内容にもよると思います。

于 2013-06-07T14:05:34.047 に答える
0

このコードを table align の代わりとして使用できます

table 
{
    margin:auto;
}
于 2016-02-25T11:43:26.747 に答える