CSS:在链接的一部分中略过下划线

时间:2010-06-04 07:35:33

标签: html css image hyperlink underline

是否可以有一个连续的链接,鼠标悬停时文本通常用下划线标注,但中间有一个没有下划线的部分(例如图像)?这不起作用:

<a href="#">one <span style="text-decoration:none;">two</span> <img src="img.png" style="border:0px; text-decoration:none;"> three</a>

4 个答案:

答案 0 :(得分:4)

创建一个隐藏下划线的类,并添加一个下划线的子类。

.underline-some {
  text-decoration: none;
}

.underline-some:hover .text {
  text-decoration: underline;
}
<a href="#" class="underline-some">
  <span class="text">Boyz</span> ??
  <span class="text">Men</span>
</a>

上面的示例代码仅强调悬停时的链接。对于始终带有下划线的链接,请删除:hover

答案 1 :(得分:3)

a, a:hover { text-decoration: underline; }
a img, a:hover img { text-decoration: none !important; }

答案 2 :(得分:2)

<a href="#" style="text-decoration:none;">
     <span style="text-decoration:underline;">one</span>  
    two
    <img src="img.png" style="border:0px; text-decoration:none;"> three
</a>

我认为只能使用如下的javascript。

查看以下示例

<html>
<head></head>
  <style>
    a{
       text-decoration:none;
     }

    a:hover
     {
       text-decoration:none;
     }

    .sample
     {
        text-decoration:underline;
     }

    .sample_none
     {
        text-decoration:none;
     }
   </style>
   <script type="text/javascript">
      function show_underline(){
        document.getElementById('sample').className= 'sample';
      }

      function hide_underline(){
        document.getElementById('sample').className= 'sample_none';
      }
   </script>
    <a href="#" onmouseover="show_underline();" onmouseout="hide_underline();"> <span id="sample" class="sample_none">two</span>  
    <img src="img.png" style="border:0px;"> three
    </a>


</body>
</html>

P.S。我想知道是否可以使用css和html

答案 3 :(得分:1)

我真正想要的是将图像“附加”到链接上,而不会在悬停时加下划线。这是我提出的解决方案:

<a href="#" style="background:url('pic.png') no-repeat; background-position: left center; padding-left: 20px;">Link</a>
  • padding-left 用于偏移文本,使其不与文本重叠 图像。
  • 使用 background-position 你 可以移动图像以使其更好 与文本保持一致。
  • 如果图像 高于文本 padding-top padding-bottom 可以用来 调整外观。

此技术也可以与 CSS sprites 一起使用,如下所示:

<a href="#" style="background:url('sprites.png') no-repeat; background-position: -16px -16px; padding-left: 32px;">Link</a>

我使用了类似的技术来使用CSS sprites而不是普通的内嵌图像:

<span style="background:url('sprites.png') no-repeat; background-position: -16px -16px; padding-left: 32px;"></span>

希望这有助于某人