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>你网站上的任何标签都不应该有下划线,而不是简单地使用它

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

span在课堂上做 tata

a是带有默认下划线的标签,因为它是链接但不是span. 因此,a 标签内的任何内容都会自动使用下划线。

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

演示

于 2012-12-13T09:05:26.963 回答
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 回答
-2

它应该是

ul li ul li a {

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