3

疑似要素を使用してリンクの後にリンクの href を追加したいが、親のテキスト装飾は保持したくない。以下のコードは、「a」と「a:after」のテキスト装飾が異なることを示しています。

a 
{
text-decoration: none;
color:#000000;
}

a:after 
{
content:  attr(href);
color:#999999;
text-decoration: underline;
padding-left: 10px;
}

text-decoration の設定が異なっていても、「a great link」と「www.stackoverflow.com」の text-decoration は同じです。(下記参照)

<a href="wwww.stackoverflow.com">素晴らしいリンク</a> wwww.stackoverflow.com

疑似要素のテキスト装飾を変更しても、特異性が 1 であるため機能しません。問題を解決できる唯一の方法は、リンク自体にスパンを追加することです。

.underline-kludge
{
text-decoration:underline;
}

<a href="wwww.stackoverflow.com"><span class="underline-kludge">素晴らしいリンク</span></a> wwww.stackoverflow.com

私はこの解決策に満足していません。より良い方法はありますか?この問題を解決するには、リンクにスパンを追加する必要がありますか?

編集 - 編集 - 編集

疑似クラス (a:after) に、親とは異なるテキスト装飾を持たせたいと考えています。CSS だけを使用して、親のテキスト装飾をオーバーライドすることはできません。私がそれを行う方法を理解する唯一の方法は、私がやりたくないスパンを追加することです。

4

1 に答える 1