一意のIDを使用し、後で各プロパティに!importantを追加して(DOMで生成された要素をリセットするために)、または「HTML5」で新しいスコープ属性を使用することができます。
ただし、その要素または親のすべての明示的な「継承」値のスタイルで問題が発生する可能性があります。たとえば、相対的なフォントサイズも問題になります。
したがって、スタイルセクションの実験的なスコープ属性ですが、前回Chrome / Chromiumのみがサポートしていたので、Firefoxも最近サポートを開始した可能性があります-メーリングリストで大きな議論があったためです。
http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scoped
編集:
別の解決策は、デフォルトでDOMにないカスタム要素を使用することです。document.createElement( "thisisfrommyapp");のようなもの 他の要素と同じようにスタイルを設定できますが、display:blockまたはそれらに必要な動作を適用する必要があります。
また、IEはそれらの使用を許可しますが、実際には、事前にTridentsのパーサーに挿入する必要があります。それらをHTMLで使用する場合は、DOMを解析する前にcreateElement()を実行する必要があります(したがって、ほとんどの場合、ドキュメントの先頭にあります)。
<html>
<head><script>document.createElement('customelement');</script></head>
<body><customelement>is stylable in IE8, too</customelement></body>
</html>
Tridentに対してのみcreateElementを実行する必要があります。そうしないと、display:inline-blockのデフォルトモデルが原因で奇妙な解析動作が発生するためです:)
愚かな理由でWebサイトでXHTMLを使用している場合(パーサーがXMLタグを削除するため、HTML上でXHTMLを使用する正当な理由はありません)、カスタム名前空間を使用する必要があります。
〜乾杯