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>
  • 相关阅读:
    JavaScript高级程序设计之元素大小
    软件测试面试必备的一些基础理论概念
    golang跨平台编译
    gin shoudBind
    requests
    excelize
    gin获取全部参数
    golang随机数及pipe
    不安全代码只会在使用 /unsafe 编译的情况下出现
    MongoDB 比较运算符 $eq$gt
  • 原文地址:https://www.cnblogs.com/jsingleegg/p/3456012.html
Copyright © 2011-2022 走看看