5

以前の質問に対する回答の1つは、colgroup/colはIEでのみ機能する必要があると述べています。

IE9(セルのコンテンツを3列目の中央に配置)で機能する例(以下を参照)を作成しましたが、最新バージョンのChromeでは機能しません。

私が間違ったことは何ですか?

HTMLの例:

<html>
<head><title>test table centerring</title></head>
<body>

    <table border="1">
        <colgroup>
            <col/>
            <col/>
            <col align="center">
        </colgroup>
        <thead>
            <tr>
                <th>#</th>
                <th>Name</th>
                <th>Value</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>Name 1</td>
                <td>Value 1</td>
            </tr>
            <tr>
                <td>2</td>
                <td>Name 2, Name 2, Name 2, Name 2</td>
                <td>Value 2</td>
            </tr>
            <tr>
                <td>3</td>
                <td>Name 3</td>
                <td>Value 3</td>
            </tr>
            <tr>
                <td>4</td>
                <td>Name 4</td>
                <td>Value 4, Value 4, Value 4, Value 4</td>
            </tr>
        </tbody>
    </table>        

</body></html>
4

1 に答える 1

2

実際、IEだけがそれをサポートしていると確信していましたが、質問に対する回答の1つに混乱していました。テーブルの特定の列を中央に配置する方法はありますか?。回答の作成者は、いくつかの制限も指摘しました: http ://www.quirksmode.org/css/columns.html

残念ながら、テーブルの列は非常に使いにくいものです。テーブルを使用すると、基本的に、行と列の2つの方法でテーブルが細分化されるためです。一般的な規則は、行で定義されたスタイルは、列で定義されたスタイルよりも優先されるということです。

次に、W3Cは、列に使用できる宣言は、境界線、背景、幅、可視性の一部のみであることを指定しています。例外:IE7以下では、すべての宣言が許可されます。

<td>第三に、列スタイルが列全体に適用されるのか、列に含まれる個々のスタイルに適用されるのか、混乱が生じます。境界線の宣言は列全体に適用されているように見えますが、幅は個々のセルに適用されます。

そのため、colgroup/colはセンタリングにはほとんど役に立ちませんでした。

于 2012-04-26T02:52:31.430 に答える