Google Chrome 中的 CSS 图像悬停问题

Posted

技术标签:

【中文标题】Google Chrome 中的 CSS 图像悬停问题【英文标题】:CSS Image hover Problem in Google Chrome 【发布时间】:2011-05-25 07:36:29 【问题描述】:

我在谷歌浏览器中有一个非常奇怪的图像悬停问题。

当我将鼠标悬停在菜单上时,我在 Mozilla 和 IE 中获得了我的背景图片,但在 Chrome 中却没有。

我为菜单项使用了以下 CSS 脚本。

.content_resize  padding-right:0; padding-top:16px; width:930px;background-color:#fff; 
.content .mainbar  float:left; width:630px;
.content .newstick  float:center; width:650px;
.content .mainbar img  margin-bottom:24px; padding:4px; border:1px solid #b7b7b7; background-color:#fff;
.content .mainbar img.fl  float:left; margin-right:12px;
.content .mainbar .article, .content .sidebar .gadget  margin:0; padding:0 0 16px 0;
.content .sidebar  float:right; width:276px;
ul.sb_menu, ul.ex_menu  margin:0; padding:0; list-style:none; color:#959595;
ul.sb_menu li, ul.ex_menu li  margin:0; 
ul.sb_menu li  padding:4px 0; border-bottom:1px solid #e3e3e3; width:220px;
ul.ex_menu li  padding:4px 0 8px;
ul.sb_menu li a, ul.ex_menu li a  color:#5f5f5f; text-decoration:none; margin-left:-16px; padding-left:5px;

ul.sb_menu li a:hover, ul.ex_menu li a:hover  color:#FFFFFF; font-weight:bold; display:block; width:200px ; height:25px; background:url(images/menu_bg.gif)  no-repeat left top;

ul.sb_menu li a:hover  text-decoration:underline;
ul.ex_menu li a:hover  text-decoration:none;
.content .scroll   float:left; background:url(images/scroll_bg.gif)  no-repeat left top;  display:block; margin-left:35px; height:200px; width:180px;  OVERFLOW: hidden;background-color:transparent; 

它在 Internet Explorer 和 Mozilla 上运行良好。虽然它没有显示悬停在 chrome 中的菜单的背景图像。谁能帮帮我?

【问题讨论】:

您能发布一个指向该页面的链接吗? 我建议你将页面上传到 jsfiddle ,或者分享网站的链接,以便人们可以正确查看问题。 或者不...我们将由您决定。 【参考方案1】:

希望我回答不会太晚吧?

发生这种情况是因为 display:block; 在悬停时被触发,而 WebKit 似乎并不喜欢。如果您将display:block; 属性从ul.sb_menu li a:hover, ul.ex_menu li a:hover 移动到ul.sb_menu li a, ul.ex_menu li a,它应该可以工作

当您使用它时,将width:200px;height:25px; 也移动到同一个位置可能是有意义的。顺便说一句,这不应该影响它在 IE、Firefox 或 Opera 中的显示方式。

【讨论】:

【参考方案2】:

您只是遇到了与此线程相同的问题:chrome does not render gif background image

如果将 GIF 图像应用于悬停(即 img:hover),则 chrome 无法正确呈现它们。

所以你有几个选择:

    如果您的图片不是动画:更改图片格式 如果您的图像是动画的:使用变通方法,请参阅问题chrome does not render gif background image 的答案

【讨论】:

以上是关于Google Chrome 中的 CSS 图像悬停问题的主要内容,如果未能解决你的问题,请参考以下文章

图像预加载技术(用作悬停状态 CSS 背景图像)似乎不适用于 Chrome

将鼠标悬停在 Chrome 上时 CSS 图像会移动 [关闭]

Google Chrome 中的 CSS 转换延迟

Flipbox 在 Chrome 中悬停时显示扭曲的图像

CSS 背景位置更改 - Chrome 错误

Google chrome:当鼠标悬停在表格单元格上时如何显示全文