私はかなり一般的なCSS継承状況であると思われますが、私はそれが思ったように動作していない理由を理解していません。ここでシンプルなCSS継承で困惑しました
は継承がだから私は 『#mainContentのP』のスタイルをオーバーライドします「.homeBoxのP」のために自分のスタイルを期待Chromeウェブデバッガ
から見たように見えるものです。そして、まだ...
#mainContent Pのスタイルは.homeBox pを上書きします。何がありますか?
私はかなり一般的なCSS継承状況であると思われますが、私はそれが思ったように動作していない理由を理解していません。ここでシンプルなCSS継承で困惑しました
は継承がだから私は 『#mainContentのP』のスタイルをオーバーライドします「.homeBoxのP」のために自分のスタイルを期待Chromeウェブデバッガ
から見たように見えるものです。そして、まだ...
#mainContent Pのスタイルは.homeBox pを上書きします。何がありますか?
IDスタイルはクラススタイルより優先されます。
一貫性のために、可能であればIDスタイルを使用しないようにしています。
また、サーバーサイドスクリプトで作業を開始するときにこれらを使用することを避けると、ASP.NETなどのようにIDを再レンダリングすることもできます。
私が知らなかったような単純なこと。ありがとう! – Jon
順序は最初に特異性によって決定され、idはクラスよりも具体的です。
これは、#mainContent
が他のセレクタよりも高い特異性を保持しているからです。その要素の最も具体的な記述であると判断され、上記のクラスに選択されています。
セレクタ支配するための規則は、W3ドキュメントで実証、かなり複雑である:
特異性、以前の回答で述べたように、正確です。最も簡単な修正はidsを使わないことです!あなたがする必要がある場合は、ネストされた要素、例えばのためにあなたのCSSを書くときに考慮にそれを取る:
#mainContent .homeBox p{font-size: 15px;}
をこれが正しい動作です、それはあまり具体的に上書きされますので、 '#mainContentのp'は.homeBoxのp''より具体的です1。 – Bazzz
価値のある読書:http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/ –