H2タグにいくつかのスタイル(色、フォントサイズなど)を設定しましたが、「A」タグを中に入れると、スタイルはリンクになります。私のhtml:
<h2>
<a class="no-decor" href="http://localhost/xxx/">Link</a>
</h2>
ご覧のとおり、「装飾なし」クラスを作成しました。 「a」タグのh2のスタイルを継承する必要があります。
a.no-decor {
color:inherit;
font-family:inherit;
font-size:inherit;
font-weight:inherit;
text-decoration:inherit;
}
Firefoxではすべてに問題はありませんが、IEには引き続きタグ「a」スタイル(下線のテキスト装飾と青色)が表示されます。「h2 a」にスタイルを設定できますが、どういうわけかIE7でCSSが値を継承するように強制することは可能ですか?
追伸IE6ではあまりにもサポートしていません。
P.P.S.同じようにいくつかの例があります: http://www.brunildo.org/test/inherit.html
いいえ、IEはどのプロパティでもinherit
をサポートしていません。申し訳ありません。これは> = IE8で修正されています。
JavaScriptの修正を使用してh2
からa
にプロパティをコピーできますが、両方の要素に同じスタイルルールを適用するのがおそらく最も簡単です。
h2, h2 a {
font: something;
color: black;
text-decoration: none;
}
装飾は親から子に継承されないため、テキスト装飾にinherit
を設定する必要はありません。下線効果は親に適用され、through the子;子はそれを削除できません(モジュロIEバグ)。子の 'text-decoration:none'は、潜在的にtwoの下線が必要でない限り、正しいことです。 。
試す
a.no-decor{
color:inherit;
//color:expression(this.parentNode.currentStyle['color']);
text-decoration:none;
}
それはあなたの青い色と下線を取り除くでしょう。下線にも同様の式を使用できますが、text-decoration:noneを使用した方がよいでしょう。これは、継承されたtext-decorationがすべての方法を提供し、絶対に必要でない場合は式を使用する必要がないためです(式を使用すると、パフォーマンスが低下します)。
Internet Explorer <= 7バージョンは、inherit
およびdirection
以外のプロパティの値visibility
をサポートしていません。