zoukankan      html  css  js  c++  java
  • IE6下面的hover不兼容

    第一种解决方法:
    ie6中hover只是对a标签有作用 必须有href=“”,否则都不管用,如果不能写a标签,还想让ie6下有滑过效果,那只能写javascript或者jquery。
    例如:ie6是不支持li:hover的,想实现的话可以这样写 li:hover 变成 li a:hover

    在IE6中,因为只支持css1,而hover伪类(css伪类)在css1中只支持<a>标签使用,其他标签一概不接纳,下面是一个简单的例子:
     还有一种情况:
       a {},a span {color: green;}    a:hover {},a:hover span {color: red; }
      <a href=”#”> Hello <span> World! </span></a>
      在IE7/FF中,鼠标移动到链接上时,”World!”字样会变为红色,但IE6则无反应。所以IE6的bug就是如果a 与a:hover   的css定义是一样的,也就是说如果a:hover 中没有样式的改变,hover就不会被触发。但如果在a:hover{}增加一些特定的属性,例如
      a:hover{border:none;}或者a:hover{padding:0;}又或者a:hover{background: none;}此时hover就可以触发了。

    第二中解决方法:

      IE6以及更低版本的浏览器对“:hover”的支持不理想,对于类似的“p:hover”、“img:hover”、 
    “#header:hover”...,今天给大家介绍一种新的方法,可以完美解决IE6不支持hover的情况,
    用法很简单,将下载后的 “csshover.htc”文件,定义在body样式内。
    body{behavior:url("csshover.htc");}
    第三种解决方法:
    <style type=”text/css”>  
          p:hover,p.hover { background:#eee; }   /* 就是要多写一个.hover而已 */
    </style>

    下面这段代码要放到页面的底部在</body> 前:
    <script type=”text/javascript”>   
    //<!–  让所有标记支持hover   
      function $(){   
            if(document.all){ // 判断是否IE浏览器   
                 var obj=document.all;   
                  for(var i=0;i<obj.length;i++){   
                        obj[i].onmouseover=function(){   
                              this.className=”hover”   
                        } ;   
                      obj[i].onmouseout=function(){   
                            this.className=”"   
                        }   
                  }   
            }   
      }   
      $();   
    //–>   
    </script>
  • 相关阅读:
    【唯星宠物】——CSS/BootStrap/Jquery爬坑之响应式首页
    【可用性评估】——手机输入法可用性评估·论文
    一个简单示例看懂.Net 并行编程
    CentOS 7.1上安装.Net Core
    用 QGIS 画矢量交通路线图
    工作流服务实战
    JVM调优总结
    内存调优
    ConcurrentHashMap原理分析
    Mac上安装go环境
  • 原文地址:https://www.cnblogs.com/jsingleegg/p/3456012.html
Copyright © 2011-2022 走看看