これが私が解決しようとしている困難です。クライアントのページ内でスクローラー インターフェイスを開発しています。基本的に、Doctype、周囲の要素、およびクライアントのページに既にあるスタイルシートまたはスクリプトを変更することはできません。コードの小さなブロックをこの中に「合わせる」必要があります。これは Web 開発者にとって一般的です。ここで注意が必要なのは、ブロック内の一部の img 要素が、継承されたクライアントのスタイルシート内の CSS ルールの対象になっていることです (もちろん、これを削除または変更することはできません)。この場合、これを補うために、より具体的な CSS ルールを自分で実際に使用できない理由をここで説明するには長すぎますが、それは事実です。だから私の質問は:別のルールを作成するかルールを削除する以外に、HTML 要素が CSS ルールの対象にならないようにする方法はありますか? 難しいのは、
.containter1 .containter3 { ... }
内の要素をターゲットにします:
<div class="container1">
<div class="containter2">
<div class="containter3">Element
...
ページ内の要素は、CSS ルールの「壁」を作成しません。CSS ルールは、コンテナを「ジャンプ」して要素をターゲットにします。したがって、次のようなルール
img { ... }
任意の img タグをターゲットにします。これを補うために私が知っている唯一の方法は、保護する正確な img を対象とするより具体的な CSS ルールを作成することです。でも、ここではそれができません。HTML を追加するだけで、CSS ルールを作成せずに同じ結果を得る方法はありますか?
/ * 明確にするために編集* /
私は CSS の規則、特異性、継承などを知っています。私の質問はより実用的でした。問題を明確にするために、次の例を検討してください。クライアントのスタイルシートに触れることができず、次の一般的なルールが定義されているとします。
img { display:none; }
問題は、次のように、対応する一般的なルールを設定して反対のことを行うことができないことです。
img { display:not-none; }
無に反するものなど存在しないからです。の反対は、、 、 などの"none"
いずれかです。"inline"
"block"
"inline-block"
基本的に、これは最初の一般的な規則により、ページ内のdisplay
すべてのプロパティを明示的に定義する必要があることを意味しimg
ます。そして、それはひどいです。だから私はこのような状況を解決するためのハックを見つけようとしていました (私の実際の問題はこれよりもさらに悪いですが、この例ははるかに明確で説明が簡単です)。