0

行2「テスト2」がオレンジで上書きされるのはなぜですか?

<head runat="server">
    <title></title>
    <style type="text/css">
        td
        {
            color: white;
        }
        .testclass td
        {
            background-color: Orange;
        }
    </style>
    <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table>
            <tr class="testclass">
                <td style="background-color: Blue">
                    Test 1
                </td>
            </tr>
            <tr class="testclass">
                <td bgcolor="fushcia">
                    Test 2
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>
4

3 に答える 3

6

bgcolorプレゼンテーション用のHTML属性です。これは、実際のCSSスタイル宣言によって常に上書きされます。

これは仕様に記載されています:

UAは、HTMLソースドキュメントの表示属性を尊重することを選択できます。その場合、これらの属性は、0に等しい特異性を持つ対応するCSSルールに変換され、作成者のスタイルシートの先頭に挿入されたかのように扱われます。

平易な英語では、これは、表現属性にはほとんど意味がなく*、作成者スタイルシートのルールのスタイルよりもさらに脆弱であることを意味します(これも特異性がありません)。

于 2012-08-06T19:16:51.550 に答える
1

BgcolorはHTML4.01以降非推奨になっているため、使用しないでください。background:またはbackground-color:を試してください。

于 2012-08-06T19:16:40.940 に答える
1

CSSスタイルはHTMLマークアップよりも優先されると私は信じています。

于 2012-08-06T19:17:11.757 に答える