【问题标题】:IE7 rollover not workingIE7 翻转不工作
【发布时间】:2011-03-25 21:48:21
【问题描述】:

我有一些代码在 PC 上的 IE8、FF 和 Safari 中运行良好,但在 IE7 中却不行。这个想法是有一个大按钮,标签中有背景图像,文本和前景图像。当用户滚动按钮时,背景图像会被替换为不同的:

CSS:

ul { list-style-type:none; }

ul li { display:inline; }

ul li.link a {
    position:relative;
    float:left;
    margin:0 10px 10px 0;
    background:url(templatebtn.jpg) no-repeat;
    width:294px;
    height:250px;
    display:block;
    padding:6px 0 0 6px;
    }

ul li.link a:hover {
    position:relative;
    float:left;
    margin:0 10px 10px 0;
    background:url(templatebtnover.jpg) no-repeat;
    width:294px;
    height:250px;
    display:block;
    padding:6px 0 0 6px;
    cursor:pointer;
    }

HTML:

<ul>
<li class="link">
<a id="button1" class="btn">
<div class="btntitle"><p><strong>A title</strong></p></div>
<div class="btnpic"><img src="pic.jpg" /></div>
</a>
</li>
...
</ul>

在 IE7 中,悬停时不会替换图像,光标也不会变为指针。即使我从 css a:hover 中删除了大部分垃圾,并且只有 a:hover { cursor:pointer;它仍然不起作用(即光标没有改变)。我已经用谷歌搜索了这个年龄,并且一定遗漏了一些明显的东西......还有想法?

谢谢, G

【问题讨论】:

  • div 不允许在 XHTML 和 HTML 中的 a

标签: css internet-explorer-7 rollover


【解决方案1】:

div 更改为span。 XHTML 和 HTML a 中使用 div

编辑:哦,当您使用它时,请删除p,因为不允许在span 中使用p。 :)

编辑 2:将 href 属性添加到 a 标记。

【讨论】:

  • 感谢您的回复。但是,这仍然不起作用。我把
    s改成了s,去掉了

    ,翻车还是没有反应。

  • 给你的a一个href属性。 &lt;a href="#" 这是一个重现您的错误的 jsfiddle jsfiddle.net/ZpAjt/1 尝试删除 href 属性以查看差异(在 IE7 中)
  • href 是关键部分。我打算发布一个解释的答案,但你及时到达那里:P(+1)
  • 哈哈,我很幸运 :) 我只是在尝试使用 JSfiddle 重现错误时才注意到它丢失了。我确实知道a 在省略href 时呈现类似于span 的效果,但是当它不存在时,您乍一看并不总是看到错误。 :)
  • 啊!我在踢自己。谢谢各位,解决了感谢您的帮助。
猜你喜欢
相关资源
最近更新 更多
热门标签