HTML:删除图像的 a:hover?

发布于 2024-07-24 14:23:01 字数 492 浏览 4 评论 0 原文

对于文本链接,我有:

CSS:

a:link {color: #3366a9; text-decoration: none}
a:hover {border-bottom: 1px solid; color: black}

但这也在可链接的IMG上添加了我不想要的黑色下划线。

使用 CSS 悬停时,如何删除可链接 IMG 上的 border-bottom

我已尝试以下方法:

a:hover img {border-bottom: 0px}

但这不起作用

实时示例(尝试将鼠标悬停在左上角的徽标上)

For text links, I have:

CSS:

a:link {color: #3366a9; text-decoration: none}
a:hover {border-bottom: 1px solid; color: black}

But this also adds a black underline on linkable IMGs that I do not want.

How do I remove the border-bottom on linkable IMGs when hovered using CSS?

I've tried the following:

a:hover img {border-bottom: 0px}

But that doesn't work

Live example (try to hover over the logo in top-left)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

万水千山粽是情ミ 2024-07-31 14:23:02

我使用 jQuery 向所有包含图像的 a 标签添加“无悬停”类:

$('a > img').each(function() {
  $(this).parent().addClass('no-hover');
});

在 CSS 中我这样做了:

a.no-hover:hover {
  border-bottom: 0px
}

如果 jQuery 对您来说太重,您可以使用 picoQuery. 如果你选择 .each() 方法,它就只有 1k。

I used jQuery to add a "no-hover" class to all a tags that contain an image:

$('a > img').each(function() {
  $(this).parent().addClass('no-hover');
});

And in CSS i did this:

a.no-hover:hover {
  border-bottom: 0px
}

If jQuery is too heavy for you, you can use picoQuery. Its just 1k, if only you choose the .each() method.

梦年海沫深 2024-07-31 14:23:02

您尝试过img {border:none}吗?

Have you tried a img {border:none} ?

紙鸢 2024-07-31 14:23:01

如果您将图像浮动与内联,这将起作用,并且不需要对史蒂夫的答案所要求的图像链接属性进行修改。

a:hover img {
border: none !important;
display: block;
}

If you float your images vs. inline this will work and will require no modifications to image link attributes that Steve's answer requires.

a:hover img {
border: none !important;
display: block;
}
平安喜乐 2024-07-31 14:23:01
a:hover img {border-bottom: 0px;}

这应该够了吧。

a:hover img {border-bottom: 0px;}

That should do the trick.

后来的我们 2024-07-31 14:23:01

不确定这是否是最好的解决方案,但它有效:

    a:link {color: #3366a9; text-decoration: none}
    a:hover {border-bottom: 1px solid black; }

    .aimg:link {color: #3366a9; text-decoration: none}      
    .aimg:hover { border-bottom: none; }

然后将带有图像的锚点设置为“aimg”类:

<a class="aimg" href="Test.htm"><img src="images/myimage.gif" /></a>

Not sure if this is the best solution, but it works:

    a:link {color: #3366a9; text-decoration: none}
    a:hover {border-bottom: 1px solid black; }

    .aimg:link {color: #3366a9; text-decoration: none}      
    .aimg:hover { border-bottom: none; }

Then set the anchors with images in them to the "aimg" class:

<a class="aimg" href="Test.htm"><img src="images/myimage.gif" /></a>
没企图 2024-07-31 14:23:01

这在 IE 中也对我有用。 IE 显示了边框,但现在就不再显示了。

a img {/*whatever you need*/
border: none !important;
}
a img:hover{/*whatever you need*/
}

this worked for me also in IE. IE displayed the borders but with this it doesn't anymore.

a img {/*whatever you need*/
border: none !important;
}
a img:hover{/*whatever you need*/
}
千仐 2024-07-31 14:23:01

在这里找到这个例子: https://perishablepress.com/css-remove -link-underlines-borders-linked-images/

a[href$=jpg], a[href$=jpeg], a[href$=jpe], a[href$=png], a[href$=gif] {
    text-decoration: none;
    border: 0 none;
    }

我想这正是您想要的。
在 Firefox 中完美运行,删除链接中的所有效果,其中包含给定格式的图像。

Found this example here: https://perishablepress.com/css-remove-link-underlines-borders-linked-images/

a[href$=jpg], a[href$=jpeg], a[href$=jpe], a[href$=png], a[href$=gif] {
    text-decoration: none;
    border: 0 none;
    }

This is exactly what you want I suppose.
Works perfect in Firefox, removes all effects from the link, which contains an image of given formats.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文