3

私はスパンタグを持っています:

<span style="text-decoration:line-through" > Hello World <a href="http://www.yahoo.com">Yahoo</a> </span>

ご覧のとおり、スパンにラインスルーを適用しました。ただし、これにより、アンカー タグでもライン スルーが発生します。アンカー タグのライン スルーを防ぐにはどうすればよいですか。アンカー タグを攻撃したくありません。

注:アンカー タグをスパン タグの外に移動するように頼まないでください。それができれば、このような質問はしません。

4

1 に答える 1

2

[ CSS text-decoration プロパティから、子要素でオーバーライドできません]

text-decoration 仕様の状態:

子孫要素の 'text-decoration' プロパティは、先祖の装飾に影響を与えることはできません。

リンクされた質問に記載されているように、 text-decoration-skipは最新バージョンの Chrome でもFirefoxでもサポートされていません


これがあなたに受け入れられるかどうかはわかりませんが、以下の解決策は機能しないため、これが唯一の方法かもしれません:

<span>
   <span class="strikethrough">Hello </span>
   <a href="#">World!</a>
</span>​

.strikethrough {
   text-decoration: line-through;
}

span 要素をネストすることは有効です。 XHTMLでネストされたスパンタグはOKですか?


動作しません:

デフォルトでは、プロパティは子に継承されます。それを望まない場合は、オーバーライドしてください。

span > a {
   text-decoration: none;
   /* or perhaps 
   text-decoration: underline;
   */
}

これにより、span 要素の直接の子孫として表示されるすべてのアンカー要素に取り消し線が表示されなくなります。

于 2012-06-14T02:26:13.037 に答える