【问题标题】:Why does my website menu move around in Internet Explorer only?为什么我的网站菜单只能在 Internet Explorer 中移动?
【发布时间】:2014-04-24 15:50:36
【问题描述】:

我编写了一个顶部有固定菜单的网站,但在 Internet Explorer 11 中,当我单击菜单中的按钮时,它会移动半秒或类似的时间。在其他浏览器中它工作正常。我可以改变什么来消除这个错误,我认为这与我的 CSS 代码有关。

如果有人可以帮助我,那就太好了。 我希望 IE 和 Mozilla、Chrome 中的按钮相同。我觉得IE总是和其他浏览器有点不一样。

这是导航菜单的 CSS 代码:

    /* CSS Menu Navigation Bar */

    #cssmenu

    {   
       position: relative;  
       margin: 0 auto;
       clear: both; 
    }

    #cssmenu a 
    {       
       list-style: none;
       margin: 0;
       padding: 0;
       border: 0;
       line-height: 1.5; 
    }

    #cssmenu li 
    {   
       border: 1px solid transparent;
       padding-top: 7px;
       display: block; 
       float: right; 
       margin: 0 10px;
    }

    #cssmenu ul
    {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        padding-right: 20px;
        margin-bottom: -70px;
        max-height: 80px;
    }

    #cssmenu li a 
    {  
        padding-top: 10px;
        padding-right: 20px;
        padding-left: 20px;
        padding-bottom: 10px;   
        width: 70px;
 
        border: 1px solid #dfdfdf;
        text-decoration: none;  
        display: block;
    
        border-radius: 2px;
        -moz-border-radius: 2px;
        -webkit-border-radius: 2px;
        -khtml-border-radius: 2px;      
   
        font-size: 17px;
        font-family: Verdana, Tahoma;
        color: #292F33;
   }

   #cssmenu li:hover a 
   {  
        border-bottom: 3px solid #30B0FF;   
        display: block;
        color: #30B0FF;
        clear: both;

        font-size: 17px;
        font-family: Verdana, Tahoma;

        transition-duration: 0.05s;
        transition-delay: 0.03s;
   }

  /* screen smaller than 1325px */

  @media only screen and (max-width : 1325px),
  only screen and (max-device-width : 1325px)
  {
       #menu
       {
          min-width: 1020px;
       }

       #cssmenu li a 
       {        
          padding-top: 10px;
          padding-right: 0px;
          padding-left: 0px;
          padding-bottom: 10px; 

          width: 60px;      
          font-size: 15px;
          border: 1px solid transparent;

       }

       #cssmenu li:hover a 
       {        
          font-size: 15px;  
       }
  }

这里是重要的 HTML 代码:

<!-- Menu -->       

    <div id="menu">     
        
        <li style="list-style: none;"> <img id="image" src="images/head.png"/><br><i>&nbsp;{by Ivan Ilic}</i></li>
        
        <div id='cssmenu'>      
        
            <ul>                                        

                <li><a href='lazarus.html'>Lazarus</a></li> 
                <li><a href='scratch.html'>Scratch</a></li>
                <li><a href='html.html'>HTML</a></li>
                <li><a href='c-sharp.html'>C#</a></li>
                <li><a href='c++.html'>C++</a></li>
                <li><a href='index.html'>Home</a></li>                  
                                
            </ul>       

        </div>

    </div>      

【问题讨论】:

  • 我在IE9中检查过,并使用开发工具检查了7和8以及怪癖模式,它对我来说根本没有动。
  • 你说的是哪个IE?我已经在 IE9、IE10 和 IE11 中进行了测试,但我无法在其中任何一个中重现错误。这是 7-8 还是 6 的问题?
  • 问题出现在 IE 11
  • 在Mozilla、Chrome、...中不一样
  • 按钮会自行刷新,看起来它们消失了,然后在几毫秒后又出现了......

标签: html css internet-explorer web menubar


【解决方案1】:

您看到的“闪光”是默认的active 背景颜色。当您单击时,它会闪烁灰色,呈现出运动的外观。您需要有一个CSS Style Reset 来覆盖 IE 中的默认背景颜色。或者,您可以简单地更改活动样式本身。

例子:

:active { background:transparent; }

style reset 将通过覆盖浏览器附加的所有不同默认样式来防止大多数跨浏览器样式差异。我用 F12 开发者工具对此进行了测试,它消除了闪存。

编辑:

在 IE 中使用document.write() 添加样式表的速度变慢了。本质上,内容正在被绘制,然后在加载样式后“修复”。链接没有JS的样式表,flash会消失。

【讨论】:

  • 我认为它并没有消除错误。尝试按 F5。按钮刷新/按钮位置刷新。它们移开并在几毫秒后返回......而在所有其他浏览器中它们不会。
  • 介意为我试一试吗?而不是 document.write 中的 CSS,只需链接它。
  • 我认为使用document.write() 加载样式会导致闪烁。你能测试一下吗?仍然在您的页面上看到通过 javascript 加载的 CSS。
  • ups,哦,是的,现在我明白了……你是对的。有效。谢谢 :) 但我使用 document.write 加载了正确的 css 文件(如果不是移动设备)我现在该怎么做?
  • 我会将其添加到答案中,以便准确反映正确答案。
猜你喜欢
  • 2019-07-26
  • 2011-03-04
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 2010-09-26
  • 2013-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多