5

わかりましたので、ここに簡単なテストケースがあります

私が試みていたのは、属性を使用して要素のスタイルを設定する場合です(これは非常に悪い考えですが、実験のためにそれを行いました)

質問は、CSS の基本要素セレクター スタイルが HTML 属性よりも具体的であるかということです。

ちょっとCSS - 1 / HTML - 0 <!-- Specificity -->

もしもCSS not used, HTML - 1 <!-- Specificity -->

テスト ケース HTML

<table border="1">
    <tr>
        <td>Hello 1</td>
        <td>Hello 2</td>
        <td>Hello 3</td>
    </tr>
</table>

CSS

table, table td {
    border: 0;
}

全体的な CSS は、スタイリングに関して HTML よりも具体的ですか? または、属性以外のstyle属性で CSS をオーバーライドできるものはありますか。

4

1 に答える 1

8

CSS 2.1仕様から:

UA は、HTML ソース ドキュメントのプレゼンテーション属性を尊重することを選択できます。その場合、これらの属性は、具体性が 0 の対応する CSS ルールに変換され、作成者スタイル シートの先頭に挿入されたかのように扱われます。したがって、後続のスタイル シート ルールによってオーバーライドされる場合があります。移行段階では、このポリシーにより、スタイル属性がスタイル シートと共存しやすくなります。

同様の言語がCSS Cascading and Inheritance Level 3に存在します


全体的な CSS は、スタイリングに関して HTML よりも具体的ですか?

はい。スタイル設定に HTML を使用しないでください。これで CSS ができました。

または、スタイル属性以外の属性で CSS をオーバーライドできるものはありますか

何もない。style 属性は、要素に CSS を適用する方法にすぎません。(JavaScript を使用して style 属性によって生成された DOM プロパティを変更するのと同様です。)

于 2013-04-19T12:12:31.723 に答える