Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer 7的CSS滚动问题_Javascript_Css_Internet Explorer - Fatal编程技术网

Javascript Internet Explorer 7的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;

我在HTML代码中编写了一些CSS来创建滚动按钮。然后,我试着用IE 7运行它,并大吃一惊!它不跑了。事实上,它显示了按钮和底层滚动。我怎样才能绕过IE无法缓存背景图像的问题?最好使用CSS,但将尝试使用javascript

示例CSS:

 #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滚动应该没有任何问题。谢谢你的建议。我还没试过,但现在听起来很明显。是的,你的假设是正确的,我在同一个图像中看到了两个状态,只是它们不在彼此下方。。。更像是肩并肩。