html - 为什么我的网站菜单只能在 Internet Explorer 中移动?

标签 html css internet-explorer web menubar

我编写了一个顶部有固定菜单的网站,但在 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>      

最佳答案

您看到的“闪光灯”是默认的 active 背景色。当您单击时,它会闪烁灰色,给人一种运动的感觉。你需要有一个 CSS Style Reset覆盖 IE 中的默认背景颜色。或者,您可以简单地更改事件样式本身。

例子:

:active { background:transparent; }

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

编辑:

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

关于html - 为什么我的网站菜单只能在 Internet Explorer 中移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488280/

相关文章:

html - 将部分的边缘隐藏在其他部分后面

javascript - 为什么 document.getElementById ("item").value 很难分配给变量?

css - Wordpress 呈现的 CSS 与 CSS 文件不匹配

html - DOM 找到 2 个具有非唯一 ID #idName 的元素

javascript - 如何使物体从 Canvas 边缘反弹

javascript - jQuery 单击外部元素可向上或向下移动包含选中复选框的无序列表项

html - IE6 - 文本无缘无故被隐藏?

html - 我怎样才能修复它在 chrome 中的样子

internet-explorer - JAWS 运行时,浏览器的 Ctrl+f 不起作用

jquery - 为什么 IE 在将 HTML 响应包装在 jQuery 对象中时会泄漏内存?