23

私はこのHTMLを持っています:

<ul>
<li>
    <ul>
        <li>
            <a href="#"> <span> Test </span> Link </a>
        </li>
    </ul>
</li>
</ul>​

そしてこのCSS:

ul li ul li span {

    text-decoration:none;
}​

アンカー内のスパンにまだ下線があるのはなぜですか?

つまり、SPANを除くすべてのテキストに下線を引くにはどうすればよいでしょうか。ありがとう

4

4 に答える 4

59

ではなく をターゲットにする必要がanchor tagあるため、span tagこれを使用します

ul li ul li a {
    text-decoration:none;
}​

理由:text-decoration: underline;はデフォルトのブラウザー スタイルシートでタグに適用される<a>ため、それを上書きしたい場合、または<a>Web サイトのどのタグにも下線を付けたくない場合は、単にこれを使用するよりも

a {
   text-decoration: none;
}

<span>編集:これを使用するよりも、テキストを除いてテキストに下線を付けたい場合は、コメントを読んでください

デモ

ul li ul li a {
    text-decoration:underline;
}

ul li ul li a span {
    text-decoration:none;
    display: inline-block;
}
于 2012-12-13T09:06:30.860 に答える
1

そのはず

ul li ul li a {
text-decoration:none;
}
ul li ul li a:hover {
text-decoration:underline;
}

ul li ul li a span {
text-decoration:none;
display: inline-block;   
}

デモ

于 2014-04-15T07:59:20.163 に答える
1

spanクラスでtatを次のように作成しますa

aリンクではあるが ではないため、デフォルトの下線が引かれるタグですspan。したがって、タグ内にあるものはすべて、自動的に下線を引きます。

ul li ul li a{
    text-decoration:none;
}​

デモ

于 2012-12-13T09:05:26.963 に答える
-2

そのはず

ul li ul li a {

    text-decoration:none;
}​
于 2012-12-13T09:06:57.220 に答える