私のページには、カスタム スタイルのハイパーリンクがあり、ハイパーリンクされた画像もたくさんあります。画像のみを含むハイパーリンクにこれらのカスタム スタイルを表示したくありません。ハイパーリンクされた各画像に個別のクラス (つまり「nostyle」) を追加する代わりに、スタイルシートからハイパーリンクされた画像を対象にすることはできますか?
James
質問する
1382 次
4 に答える
5
CSS で一致した項目の親を直接選択することはできません。js には回避策があります (要素を検索し、クラス属性をその親ノードに適用するなど) が、少しぎこちないようです。ドキュメント構造をリファクタリングして、より洗練された解決策を見つけることをお勧めします。
于 2009-04-01T02:39:37.797 に答える
1
確かに、ただ使ってください
a img {
// your style here...
}
特定のクラスのリンク内の画像のみをターゲットにしたい場合は、
a.yourclass img {}
于 2009-04-01T02:29:52.547 に答える
0
アンカー クラスは必要ありません。
a[rel="image"] img {}
于 2009-04-01T03:15:31.593 に答える
0
あなたが答えを求めているように聞こえることに基づいて、答えはノーです。CSS のみで前方に戻ることはできません。
Theo.T が述べたように、JS の回避策が考えられます。
1 つのアイデアは、要素の innerHTML チェックを実行して、要素の内部に <img> タグがあるかどうかを確認し、ある場合は element.className = "nostyle"; を変更することです。しかし、これは厄介な回避策であり、JS (およびクロスブラウザー) で正しい構文を取得するまでに、ドキュメントをリファクタリングすることができます。
于 2009-04-01T02:50:36.287 に答える