クライアントの既存のhtmlのdiv内に存在するhtml5/js/cssアプリケーションを構築しています。クライアントのCSSスタイルがアプリに継承されていないことを確認したいと思います。
このdivとその子孫要素をリセットするためのベストプラクティスはありますか?
私は次のようなものを使用することを考えています:
#my-id * { //styles }
より良い/ベストプラクティスのアプローチがあるかどうか疑問に思っていますか?ありがとう。
それを保証することは非常に困難/おそらく不可能です。Starxが参照しているソリューションのタイプは、ブラウザーのデフォルト以外のプリセットスタイルを想定しておらず、そのコンテキストでの「リセット」とは、さまざまなブラウザーのデフォルト間での不整合を調和させることを指します。
しかし、あなたの場合、クライアントCSSには、次のような非常に具体的なセレクターがすでに含まれている可能性があります。
#someDiv .aClass a{float:left;}
...そしてそれらの「CSSリセット」ソリューションを適用しても、これは単純に上書きされません。
Truthのセレクターもこれよりも特異性が低いため、このような場合はクライアントのスタイルを理解できません。
あなたの質問は非常に似ています:要素からすべての継承され計算されたスタイルを削除する方法は?
つまり、簡単な答えは次のとおりです。「要素から継承および計算されたすべてのスタイルを削除する」ことはできないため、これを保証する方法はありません...更新: ...既存のすべてのスタイル宣言を予測して、適切な新しい宣言でオーバーライドできない限り特異性。
この特定のdivだけを最近にしたい場合は、持っているものよりも問題ありません。ただし、div自体をリセットするのを忘れました。
#my-id, #my-id * { /* styles */ }
エリックのCSSリセットは、堅牢なリセットの1つであるため、おそらく探しています。
ただし、リセットルールは、ボックスだけでなく、ページ全体に適用されます。だから、前に置いて、ルールを変更します#my-id
。