在我的网站上,我有一个容器,其中包含一个divs
元素,其中包含一个带有背景图像的i
元素。这些i
元素都具有相同的背景图像,但具有不同的背景位置,因此只需要生成一个http请求,这对于较小的图标通常是最佳实践。 div应该在容器中水平居中。
我的问题是,在Chrome和Firefox浏览器(最新版本)上,背景图像的渲染在某些(宽屏)屏幕尺寸上无法正常工作。特别是在Chrome上,它总是不会显示一些元素background-image,除非元素悬停在Firefox上,它根本不会渲染背景图像。
如果我将float: left
添加到容器内的divs
,则解决了渲染问题。但是我希望元素在容器中居中,而左边的浮子不起作用。
我的问题是我在做什么导致某些浏览器出现此行为,我该如何解决?
您可以自己查看此问题:
http://staging.koreanbuilds.net
上的行为的屏幕截图这是容器和元素的css代码:
/* Container of clickable champion icons */
#champContainer {
width: 100%;
padding-right: 10px;
padding-left: 10px;
text-align: center;
position: relative;
}
/* Champion images div container class */
.champIcon {
width: 65px;
height: 65px;
margin: 1px auto;
overflow: hidden;
}
.champIcon i {
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
}
.champIcon i:hover {
zoom: 1.05;
cursor: pointer;
-moz-transform:scale(1.05);
-moz-transform-origin: 0 0;
}
此外,div还有这两个类中的一个
.nodisplay {
display: none;
}
.yesdisplay {
display: inline-block;
}
i元素始终具有以下类
.chmp {
display: inline-block;
overflow: hidden;
text-indent: -9999px;
text-align: left;
cursor: pointer;
}
以及定义背景图像和位置的类,例如
.chmpashe {
background-image: url(http://statics.koreanbuilds.net/champion_65x65/sprite.png);
background-position: 0 -455px;
width: 65px;
height: 65px;
}
答案 0 :(得分:1)
我没有发现您的代码有任何问题。看起来这可能与您看到here的问题相同,因为我似乎无法在Firefox上加载您的spritesheet
可能值得削减你的精灵表并测试它是否有效。
希望有所帮助!编辑:
查看您的实际网站,您有一个更传统的形状样式表,在以太维度上不超过1000像素。它看起来像你在升级时使用的那个超过80,000像素,这看起来就像你的问题所在。