【发布时间】:2012-07-13 13:44:12
【问题描述】:
简单的html和css。
代码:
<div class="link_my"> <a href="a.php">my link</a></div>
css:
.link_my a:hover{
font-weight:bold;
text-decoration:underline;
}
鼠标悬停时,文本字体与下划线一起变为粗体。但我希望下划线正常(不是粗体)。
怎么做?
【问题讨论】:
简单的html和css。
代码:
<div class="link_my"> <a href="a.php">my link</a></div>
css:
.link_my a:hover{
font-weight:bold;
text-decoration:underline;
}
鼠标悬停时,文本字体与下划线一起变为粗体。但我希望下划线正常(不是粗体)。
怎么做?
【问题讨论】:
这对你 Istiaque 有用。 JS FIDDLE 链接:http://jsfiddle.net/39TtM/
HTML:
<a href="#" class="link">
<span>
my link
</span>
</a>
CSS:
.link span{
color:blue;
font-size:30px;
}
.link:hover span{
font-weight:bold;
}
.link:hover{
text-decoration:underline;
}
【讨论】:
你可以使用border-bottom来代替
.link_my a:hover{
font-weight:bold;
text-decoration:none;
border-bottom:1px solid #ccc;
}
谢谢 约翰
【讨论】:
下划线是文本的一部分,它们不是不同的元素/部分。
解决此问题的一种方法是使用border 而不是下划线:
.link_my a {
text-decoration: none;
border-bottom: 1px solid #000;
}
.link_my a:hover{
font-weight:bold;
}
【讨论】:
underline 出现在文本下方,但在文本下方的前导空格(或删除空格?)的“上方”(上边缘);而边框位于元素的底部边缘。它们相似,但不一样。
如果使用 line-height(也可能是 display:block),Aditya 的解决方案可能更可取 > 否则(当使用border-bottom 时)下划线将出现在块元素下方而不是根据需要在文本下方。
【讨论】: