Javascript Internet Explorer 7的CSS滚动问题
我在HTML代码中编写了一些CSS来创建滚动按钮。然后,我试着用IE 7运行它,并大吃一惊!它不跑了。事实上,它显示了按钮和底层滚动。我怎样才能绕过IE无法缓存背景图像的问题?最好使用CSS,但将尝试使用javascript 示例CSS:Javascript Internet Explorer 7的CSS滚动问题,javascript,css,internet-explorer,Javascript,Css,Internet Explorer,我在HTML代码中编写了一些CSS来创建滚动按钮。然后,我试着用IE 7运行它,并大吃一惊!它不跑了。事实上,它显示了按钮和底层滚动。我怎样才能绕过IE无法缓存背景图像的问题?最好使用CSS,但将尝试使用javascript 示例CSS: #Menu { width: 100%; height: 32px; margin-top: 93px; padding-left: 13px; } #Menu a { height: 32px;
#Menu
{
width: 100%;
height: 32px;
margin-top: 93px;
padding-left: 13px;
}
#Menu a
{
height: 32px;
line-height: 32px;
width: 123px;
background: url("img/menu.png") top left no-repeat;
background-position: -123px 0;
float: left;
margin-left: 3px;
text-decoration: none;
color: #1e1e1d;
font-size: 12px;
text-align: center;
}
#Top #Menu a:hover, #Top #Menu a.active
{
background-position: 0px 0;
text-decoration: underline;
}
如果您使用的是:hover伪选择器,那么除非它是锚定标记,否则它在IE中不起作用。尝试将按钮更改为锚定。您仍然可以使用css使其看起来像一个按钮
如果您想使用javascript,请查看。尝试确保您的CSS
背景语法正确。有些浏览器允许您以任何顺序指定属性,但是IE会阻塞。您应该以X Y(水平然后垂直)的形式指定附件。您当前有左上方的。使其位于左上方
。另外,行的末尾有no repeat
,它应该位于url声明之后和位置声明之前
CSS背景速记值的顺序应为:
- 背景色
- 背景图像
- 背景重复
- 背景位置
- 背景附件
例如,background:#fff url(example.jpg)不重复左上固定代码>首先,您给出的指令相互冲突
background: url("img/menu.png") top left no-repeat;
background-position: -123px 0;
。。。背景已经用速记法定位
我假设您的常规状态和悬停状态都共享相同的图像,那么为什么不同时使用速记呢?删除
背景位置:-123px 0
。。。对于悬停和活动状态,请使用
background-position: bottom left;
然后将两个状态都放在一个图像中,一个在另一个图像的下方(我认为这是您一直在尝试的)。图像滚动问题主要是因为每次悬停链接或选项卡时都会下载图像。此闪烁是由删除主映像和加载滚动映像时的延迟引起的(尽管它们在技术上是相同的映像,但Internet Explorer更愿意单独处理)。
查看滚动问题的完整修复程序:
请提供一些示例代码。IE7上的css滚动应该没有任何问题。谢谢你的建议。我还没试过,但现在听起来很明显。是的,你的假设是正确的,我在同一个图像中看到了两个状态,只是它们不在彼此下方。。。更像是肩并肩。