ストーリー: リンクがあります。リンクの一部は、少し異なる(サイズと色が異なる)スタイルにする必要があります。FFとOperaの子要素の下線色を変更します(IE、Safari、Chromeで動作します)
HTML:
<a href="#">Lorem Ipsum <span>Lorem Ipsum</span> Lorem Ipsum</a>
CSS:
a { color: blue; text-decoration: underline; }
a span { color: yellow; font-size: 2em; }
問題: は私が何であれ、私はスパンのテキスト内の下のラインを持っているための良い方法を取得することはできませんテキストと同じ色。
私が見ることができる唯一の解決策は、テキスト装飾:なしをaタグに設定し、各子に設定することです。しかし、これは私にとっては良い方法のようには見えません。私はFirefoxのV12(WindowsとUbuntuの)、オペラV11、IEのV7、IEのV9、Safariのバージョン5.1とChrome(夜間)でこれをテストしてみた
...
のみFirefoxとOperaは持っているように見えますこの問題(Operaよりも悪いのはOperaですがOperaについてはあまり気にしません)。
編集: ここでの目標は、完全に行を削除するのではなく、色を変更することです(解決方法によって)。 Chrisが書いた答えからわかるように、私はそれがオーバーペインティングのようなものでなければならないと思う。それは少なくともIEとWebkit-Browsersのように見えます。
例:ここでは、拡張の例へのリンクです : http://jsfiddle.net/r2dhb/3/
アップデート:あり CSS3 http://www.w3.org/TR/css3-text/#decorationに変わる何かが決定的だが、このようなものがでサポートされていないので、私は気にしませんブラウザのいずれかが
これは、「」タグの内容に限定されないことと、スパンをインラインブロックに変更した場合、下線をもはや持たないことに注意してください。レイアウト。私はこれらの観察が助けるかもしれないと思っています。 :) – Chris
魅惑的です。私にブラウザのバグのように見える – Rodolfo
それは仕様通りであるように見えます。 ''には下線が引かれており、その子どものスタイルは影響を与えません。あなたが要素にボーダーを適用する場合に似ています。あなたはそれが子供の要素がどこにあったのかを止めることを期待しません...答えとして投稿する前に、w3から適切に非曖昧な見積もりを見つけようとしています。 – Chris