CSS 悬停图像链接在 Internet Explorer 中不起作用

发布于 2024-12-07 09:34:04 字数 1407 浏览 2 评论 0原文

请参考http://solarisdutamas.com/fb/KonzeptGarden/sample.php,将鼠标移至“Pebbles Wash”并单击图像。它在 Chrome 和 Firefox 中工作正常,但该链接在 IE 中不起作用。 这是我的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Konzept Garden</title>
<style type="text/css">
* {margin: 0; padding: 0;}
#main {
width: 520px;
height: 228px;
background-image: url(stone.jpg);
background-repeat: no-repeat;
position: relative;
margin: 0 auto;}

#main ul li {
list-style: none;
display: inline;}

#main ul li:hover {
visibility: visible;}

#main ul li a {
position: absolute;
z-index: 1;}

#main ul li a:hover {
z-index: 100;}

#main ul li img {
position: absolute;
top: 300px;
right: 999em;}

#submain1 .butt1 a {
left: 8px;
top: 80px;
    width: 90px;
height: 32px;}

#main ul .butt1:hover img {
    left: 8px;
    top: 80px;}
</style>
</head>
<body style="margin: 0px; width: 520px;">
<div id="main">
<ul id="submain1">
<li class="butt1"><a href="http://konzeptstone.com/p_pebbles.html" target="_blank"></a><img src="p1.png"></li>
</ul>
</body>
</html>

有谁知道为什么这在 IE 中不起作用?

Please refer http://solarisdutamas.com/fb/KonzeptGarden/sample.php, mouse over to "Pebbles Wash" and click the image. It working fine in Chrome and Firefox, but the link not working in IE.
Here's my code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Konzept Garden</title>
<style type="text/css">
* {margin: 0; padding: 0;}
#main {
width: 520px;
height: 228px;
background-image: url(stone.jpg);
background-repeat: no-repeat;
position: relative;
margin: 0 auto;}

#main ul li {
list-style: none;
display: inline;}

#main ul li:hover {
visibility: visible;}

#main ul li a {
position: absolute;
z-index: 1;}

#main ul li a:hover {
z-index: 100;}

#main ul li img {
position: absolute;
top: 300px;
right: 999em;}

#submain1 .butt1 a {
left: 8px;
top: 80px;
    width: 90px;
height: 32px;}

#main ul .butt1:hover img {
    left: 8px;
    top: 80px;}
</style>
</head>
<body style="margin: 0px; width: 520px;">
<div id="main">
<ul id="submain1">
<li class="butt1"><a href="http://konzeptstone.com/p_pebbles.html" target="_blank"></a><img src="p1.png"></li>
</ul>
</body>
</html>

Does anyone have any idea why this doesn't work in IE?

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

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

发布评论

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

评论(3

西瑶 2024-12-14 09:34:04

如果您使用的是早期版本的 IE,它会出现 :hover 问题。

http://reference.sitepoint.com/css/pseudoclass-hover

If you are using earlier versions of IE, it has issues with :hover.

http://reference.sitepoint.com/css/pseudoclass-hover

说谎友 2024-12-14 09:34:04

我知道这有点矫枉过正,但这将确保它即使在 IE 6 上也能工作:

#submain1 .butt1 a:link, a:active, a:visited {
   left: 8px;
   top: 80px;
   width: 90px;
   height: 32px;
   display:block;
   overflow: hidden;
}

then:

<li class="butt1"><a href="http://konzeptstone.com/p_pebbles.html" target="_blank"> </a><img src="p1.png"></li>

I know this is an overkill but this will ensure it works even on I.E. 6:

#submain1 .butt1 a:link, a:active, a:visited {
   left: 8px;
   top: 80px;
   width: 90px;
   height: 32px;
   display:block;
   overflow: hidden;
}

then:

<li class="butt1"><a href="http://konzeptstone.com/p_pebbles.html" target="_blank"> </a><img src="p1.png"></li>

.

忱杏 2024-12-14 09:34:04

一种选择是使用 jQuery(如果已安装)。就像 Jason 所说,:hover 在 IE6 及更低版本中不起作用,除了锚点之外,其他任何东西都不起作用。

假设您可以使用 jQuery,解决方案是:

$('#main ul li').hover(function(){
  $(this).show();
});

使用 jQuery 的另一个选项是在 Hover 上动态添加一个类。

$('#main ul li').hover(function(){
  $(this).addClass('hoverState');
});

然后CSS将是:

#main ul li.hoverState {
visibility: visible;}

One option is to use jQuery if you have it installed. Like Jason said, :hover doesn't work in IE6 and below, for anything OTHER than anchors.

Assuming you can use jQuery, the solution would be:

$('#main ul li').hover(function(){
  $(this).show();
});

Another option using jQuery would be adding a class dynamically on Hover.

$('#main ul li').hover(function(){
  $(this).addClass('hoverState');
});

And then the CSS would be:

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