【问题标题】:background-color change on rollover not working in IE, FF滚动时的背景颜色更改在 IE、FF 中不起作用
【发布时间】:2010-08-13 21:07:10
【问题描述】:

这看起来很简单,我很困惑为什么它不工作......我想在滚动时更改 DIV 的背景图像。它适用于 Mac 上的 chrome 和 FF - 但不适用于 PC 上的 FF、IE

CSS - /media/css/mystandard.css

div.flipper {background-color: #FFFFFF;}
div.flipper:hover {background-color: #F8FBFE;}

HTML

<HTML> <HEAD> <link rel="stylesheet" href="/media/css/mystandard.css"/></HEAD><BODY>        
<div class="flipper" >  
hello stack overflow!               
</div>
</BODY></HTML>

re:鲶鱼

感谢您的提示。不幸的是,我不能使用标签,因为我计划更改完整 DIV 的背景颜色(有点像 twitter.com Tweets 翻转视图),并且不想将 div 中的所有文本都设为链接

【问题讨论】:

  • 仅供参考,您的 HEAD 元素不应位于 BODY 内。
  • aaah,你说得对,这只是一个复制/粘贴错字 - 错误修复
  • 它应该在 FF 和 IE7+ PC 上都可以工作,所以您如何链接样式表(“在此处导入 CSS”)肯定有问题 - 我们可以提供完整的页面或在线测试吗?
  • @darma 查看上面更新的 html 代码
  • IE 和 Firefox 哪个版本?

标签: html css rollover


【解决方案1】:

如果您必须使用&lt;div&gt;,则需要使用 javascript 来进行悬停。为了简单起见,我建议使用 jQuery:

$("div.flipper").hover(
  function() { $(this).addClass("hover"); },
  function() { $(this).removeClass("hover"); }
);

然后将您的 CSS 更改为:

div.flipper {background-color: #FFFFFF;}
div.hover   {background-color: #F8FBFE;}

【讨论】:

【解决方案2】:

并非所有浏览器都支持除锚标记&lt;a&gt; 之外的任何东西上的:hover 伪属性。您必须将您的 html 更改为

<HTML><BODY> <HEAD> import CSS here </HEAD>     
<div class="flipper" >
<a href="#">  
hello stack overflow!
</a>               
</div>
</BODY></HTML>

你的css到

div.flipper a{background-color: #FFFFFF;}
div.flipper a:hover {background-color: #F8FBFE;}

【讨论】:

    【解决方案3】:

    您的问题在于您的 CSS 链接。你有&lt;link rel="stylesheet" href="/media/css/mystandard.css"/&gt;

    媒体产生问题之前的第一片。 使用这个&lt;link rel="stylesheet" href="media/css/mystandard.css"/&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 2021-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      相关资源
      最近更新 更多