解决IE6以下不兼容hover的问题

完美解决IE6对hover伪类不支持的终极方案 在现代前端开发中,Internet Explorer 6(简称IE6)早已退出主流舞台,但在某些特定历史项目或遗留系统中,仍可能面临必须支持该浏览器的现实需求。IE6发布于2001年,其内核对CSS、DOM和JavaScript的支持极为有限,尤其在处理现代网页交互行为时存在诸多缺陷。其中最典型的问题之一便是不支持非超链接元素上的:hover伪类,导致开发者无法通过标准CSS实现按钮、菜单等组件的悬停效果。这一限制不仅影响用户体验,也增加了跨浏览器样式的开发复杂度。 阅读详情

解决IE6以下不兼容hover的问题

新建一个csshover.htc文件,一下是csshover.htc内容

<public:attach event="ondocumentready" onevent="CSSHover()" />
<script>
/**
 * Whatever:hover - V3.11
 * http://www.xs4all.nl/~peterned/
 *   
 * Copyright (c) 2009 Peter Nederlof
 * Licensed under the LGPL license
 * http://creativecommons.org/licenses/LGPL/2.1
 */
window.CSSHover=(function(){var m=/(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;var n=/(.*?)\:(hover|active|focus)/i;var o=/[^:]+:([a-z\-]+).*/i;var p=/(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;var q=/\.([a-z0-9_\-]*on(hover|active|focus))/i;var s=/msie (5|6|7)/i;var t=/backcompat/i;var u={index:0,list:['text-kashida','text-kashida-space','text-justify'],get:function(){return this.list[(this.index++)%this.list.length]}};var v=function(c){return c.replace(/-(.)/mg,function(a,b){return b.toUpperCase()})};var w={elements:[],callbacks:{},init:function(){if(!s.test(navigator.userAgent)&&!t.test(window.document.compatMode)){return}var a=window.document.styleSheets,l=a.length;for(var i=0;i<l;i++){this.parseStylesheet(a[i])}},parseStylesheet:function(a){if(a.imports){try{var b=a.imports;var l=b.length;for(var i=0;i<l;i++){this.parseStylesheet(a.imports[i])}}catch(securityException){}}try{var c=a.rules;var r=c.length;for(var j=0;j<r;j++){this.parseCSSRule(c[j],a)}}catch(someException){}},parseCSSRule:function(a,b){var c=a.selectorText;if(m.test(c)){var d=a.style.cssText;var e=n.exec(c)[1];var f=c.replace(o,'on$1');var g=c.replace(p,'.$2'+f);var h=q.exec(g)[1];var i=e+h;if(!this.callbacks[i]){var j=u.get();var k=v(j);b.addRule(e,j+':expression(CSSHover(this, "'+f+'", "'+h+'", "'+k+'"))');this.callbacks[i]=true}b.addRule(g,d)}},patch:function(a,b,c,d){try{var f=a.parentNode.currentStyle[d];a.style[d]=f}catch(e){a.runtimeStyle[d]=''}if(!a.csshover){a.csshover=[]}if(!a.csshover[c]){a.csshover[c]=true;var g=new CSSHoverElement(a,b,c);this.elements.push(g)}return b},unload:function(){try{var l=this.elements.length;for(var i=0;i<l;i++){this.elements[i].unload()}this.elements=[];this.callbacks={}}catch(e){}}};var x={onhover:{activator:'onmouseenter',deactivator:'onmouseleave'},onactive:{activator:'onmousedown',deactivator:'onmouseup'},onfocus:{activator:'onfocus',deactivator:'onblur'}};function CSSHoverElement(a,b,c){this.node=a;this.type=b;var d=new RegExp('(^|\\s)'+c+'(\\s|$)','g');this.activator=function(){a.className+=' '+c};this.deactivator=function(){a.className=a.className.replace(d,' ')};a.attachEvent(x[b].activator,this.activator);a.attachEvent(x[b].deactivator,this.deactivator)}CSSHoverElement.prototype={unload:function(){this.node.detachEvent(x[this.type].activator,this.activator);this.node.detachEvent(x[this.type].deactivator,this.deactivator);this.activator=null;this.deactivator=null;this.node=null;this.type=null}};window.attachEvent('onbeforeunload',function(){w.unload()});return function(a,b,c,d){if(a){return w.patch(a,b,c,d)}else{w.init()}}})();
</script>

在要hover的页面的head中添加代码

<!--[if IE 6]>
    <style>
            body {behavior: url(csshover.htc);}
    </style>
<![endif]-->

这样就可以实现IE6以下支持hover的功能了

完美解决IE6不支持hover 完美解决IE6不支持hover的方法 立即下载

相关推荐

完美解决IE6不支持hover的方法

完美解决IE6不支持hover的方法,还在为IE6苦恼吗?美餐来了!

两种办法解决IE6下非链接不支持hover的问题

IE对a能使用hover,但对div等不行,Firefox中都可以,因此我想到了兼容两者的JQuery:

大懒猫的狗窝 684

BH1750光强度传感器Stm32f103驱动(已测试ok)

1. 实验:Stm32f103 驱动 bh1750采集光照强度,串口打印采集到的数据。 2. 实验准备器材 开发版:stm32f103c8t6 器件:bh1750 GY-302 开发环境:win10,KILE4 下载程序的软件:FlyMcu.exe 串口调试助手:ComAssistant.exe 3. BH1750 的接线 VCC:5V或3.3V ...

weixin_53329977的博客 8930

解决ie6不支持:hover、属性选择器等问题的方法

一个老外写的Js库,包括若干js文件,使ie6可以支持一些css2乃至css3的内容,因此他给这个js库起名为“IE7”。 原文:http://dean.edwards.name/ie7/overview/ 下载:http://code.google.com/p/ie7-js/downloads/list http://ie7-js.googlecode.com/files/ie7-2.

开心每天,水滴石穿。 2297

Windows Server 2012评估版过期自动关机问题:两种高效解决方案详解

本文针对Windows Server 2012评估版过期导致的自动关机问题,提供了两种高效解决方案。一是通过slmgr.vbs命令重置授权,临时延长评估期;二是使用DISM工具将评估版转换为正式版,一劳永逸。文章详细解析了两种方法的操作步骤、注意事项及适用场景,帮助用户快速恢复服务器稳定运行。

pytorchlight8的博客 1195

三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析

1前言短路故障相对于其他故障类型来说是比较常见的,不同的设备的短路故障,大了讲都一样,细了说各有千秋,今天我们主要聊聊光伏逆变器的短路特征。电力系统中的电源,传统意义是指的是并入电力系统的同步发电机。但随着分布式发电技术的发展,各种形式的发电装置并入电力系统。按照分布式电源并网的方式,我们大致可以分为以下三类:➤通过旋转电机和变流器并联并网的电源,主要指双馈风力发电系统;➤仅仅通过变流器...

weixin_39901404的博客 1732

解决IE6不兼容问题(a:hover以外一切都不执行)

解决方法有很多种,可是最方便就是用js了,可是js也可以有很多种方法。 转载一篇: csshover.htc解决IE6 hover兼容问题 为了美观,很多网站主都喜欢用hover来定义一些元素,比如这一句:menu li: hover {background:#fff;}。但如果访客使用IE6浏览器,那么你的一切心思都是白费,因为他根本欣赏不到#fff...

weixin_33901641的博客 152

从入门到精通:MediaGo跨平台部署全攻略,Docker+NAS实战案例深度拆解!

本篇将深入解析开源媒体处理工具MediaGo的运作机制,该软件具备跨平台兼容性,支持Windows、MacOS及Linux三大主流操作系统。其核心创新在于采用模块化架构设计,用户无需额外依赖任何插件即可完成快速部署。作为GitHub平台上的开源项目,该工具特别注重用户体验设计,通过Docker容器化方案可无缝接入各类网络存储设备,显著优化系统资源占用并提升数据处理效率。以飞牛云NAS系统为实施案例,本文将详细展示本地化部署全流程。

Yawesh的博客 1954

前端工作遇到问题汇集

  兼容性问题: 浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况(也就是浏览器内核不同)   1.去掉iframe中横向的滚动条      解决办法:在加入iframe子页面中添加 html{overflow-x:hidden;}   2.ie6中position:fixed不兼容     解决办法: 在固定定位的元素里。。加入...

120

NPP/VIIRS夜间灯光数据:从下载到应用的完整指南

本文提供了NPP/VIIRS夜间灯光数据从下载、处理到应用的完整实战指南。详细介绍了如何从官方源获取数据、解读文件结构、进行坐标校正与数据清洗,并深入探讨了其在城市扩张监测、社会经济指标估算、重大事件影响评估等领域的核心应用。文章旨在帮助研究者与从业者快速掌握这一强大的空间数据,将其转化为研究中的实用工具。

gpu4optimizer的博客 866

从零到一:Bioconductor新手入门与R包安装实战

本文详细介绍了Bioconductor在生物信息学中的重要性及其R包安装实战指南。从环境准备到BiocManager的使用,再到常见问题排查,帮助新手快速掌握这一强大工具。特别推荐org.Hs.eg.db等核心工具包,助力基因注释和功能分析,提升研究效率。

weixin_29061041的博客 418

解决IE6下hover失效问题

IE6只支持 a:hover ,标签 a 以外的hover在IE6下无效,解决办法如下: 在html页面(而不是css文件)中设置样式, body { behavior: url(css/hover.htc); } 其中hover.htc文件的内容如下: /** * Pseudos - V1.30.050121 - hover & active * ------

止水 971

“详规一张图”——上海土地利用数据

本文围绕城市规划与土地管理中空间数据的重要性,介绍了基于地理信息系统(GIS)技术对上海市用地数据进行获取与处理的具体方法。文章以上海市为例,详细阐述了如何通过构建以10米为间隔的网格点覆盖全市范围,并采用GET请求方式从“上海用地规划官网:详细规划‘一张图’公众版”平台获取地块信息的过程。通过对API接口参数的设置,包括坐标系、几何类型和返回格式等,实现了对每个网格点对应地块的属性信息(如规划用地类型、容积率、地块编号等)及几何形状信息的提取。

weixin_45812624的博客 2198

csshover.htc解决IE6 hover兼容问题

为了美观,很多网站主都喜欢用hover来定义一些元素,比如这一句:menu li: hover {background:#fff;}。但如果访客使用IE6浏览器,那么你的一切心思都是白费,因为他根本欣赏不到#fff的背景效果。这又是IE6的一个兼容问题,就是不能正确解读所有CSS元素的hover定义,除a:hover可以正确外,其余元素的hover定义一律不能解释。解决IE6的hover的兼容问题

和上帝躲猫猫 1435

ENVI无法打开Landsat8的头文件问题和解决

再次将txt文件拖入ENVI中,就会得到7个波段组合后的真彩色图像,而且辐射定标所需的参数信息都已经定义好了。按住CTRL+F,查找GROUP = LEVEL1_PROCESSING_RECORD。第一行GROUP = LANDSAT_METADATA_FILE。会查到两个包含的句子,把这两个中间的部分全部删掉。双击打开该xxx_MTL.txt的头文件。删除空行后,应该为如下图的样子。把LANDSAT改为L1。

所有专家都曾始于新手 9700

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【javascript】csshover 解决 ie6 下 hover 兼容问题

在 ie6 下只有 a 才支持 :hover 伪类,其它标签都不支持,很是让人头疼。不过,可以通过 csshover.htc 可以解决 ie6 的 hover 兼容问题。 它利用 js 脚本来给元素的的样式定义,如果检测到 hover 定义,就给元素设置 onmouseover 和 onmouseout 事件,以此来实现 hover 的效果。 附上 csshover.htc 代码: ...

dengrongshou5105的博客 165

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IE6IE7Firefox浏览器不兼容原因及解决办法

IE6IE7Firefox浏览器不兼容原因及解决办法     一、IE6IE7Firefox浏览器不兼容原因及解决办法 1.文字 本身的大小不兼容。同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占 高16px,下留白3px,ff下实际占高17px,上留白1px,下留白3px,opera下就更不一样了。    

前端工程师--则丸 3854

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

解决ie6.0 的hover兼容问题

CSS body {behavior:url("hover.htc"); hover.htc /*解决ie6.0 的hover兼容问题*/ <attach event="ondocumentready" handler="parseStylesheets" /> <script> var csshoverReg = /(^|\s)(([^a...

diaochourou0502的博客 161

IE中伪类:hover的使用及BUG,以及如何在IE6中进行修正(CSS)

:hover是我们在CSS设计中最常运用的伪类之一,许多绚丽效果的实现离不开伪类:hover,比如我们常见的纯CSS菜单、相册效果等等。或许用了这么久的伪类:hover,还有部分朋友还不完全了解hover的规则:引用:在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。 但目前IE5.5、IE6仅支持CSS1中

SUB 的专栏 1579

hover在IE6的问题

在处理css的机制上,IE总是有很多让人吐血的举动,但对于他们现在的改进力度还是值得高兴的。   就拿对伪类:hover的支持来说,IE7+终于添加了对a以外其它标签的支持。对于这样的改进,当然是要拍手称快的,但在IE6下,:hover就连对a的支持都不是那么的尽如人意。下面就是我想简单说的一个关于:hover在IE6及更早浏览器下的问题。   很多人可能都已经知道了:hove

nuonie1803的博客 294

IE6下hover伪类显示隐藏子元素bug及解决方案

周所周知,ie6只有a元素支持hover伪类,在实际应用中,为了兼容ie6,有时候会使用a元素来做子元素的显示及隐藏,比如下图: 黄色小tips默认隐藏,鼠标hover到“促”字图标后,黄色tips显示。这种简单的交互可以直接使用a标签的hover伪类实现,但在ie6下,这种伪类方法会有一些奇怪的问题,下面用一个简单的demo来演示这种情况下所遇到的问题。 HTML代码:

yan_zhizi3的专栏 1803

IE6 li a:hover position

首先就是纯div+css做下拉菜单的代码然后考虑IE6兼容问题因为IE6不认li:hover,所以需要一段JS代码来实现这个功能网上有很多种,这里我选择其中的一种-----------------code-----------------//-->sfHover = function() {var sfEls = document.getElementById("nav").getElemen

wucaijuan的专栏 1375

a:hover伪类在IE6下的问题

<br /> 在处理css的机制上,IE总是有很多让人吐血的举动,但对于他们现在的改进力度还是值得高兴的。 <br /><br />   就拿对伪类:hover的支持来说,IE7+终于添加了对a以外其它标签的支持。对于这样的改进,当然是要拍手称快的,但在IE6下,:hover就连对a的支持都不是那么的尽如人意。下面就是我想简单说的一个关于:hover在IE6及更早浏览器下的问题。 <br /><br />   很多人可能都已经知道了:hover在IE6及更早浏览器(以下称IE6-)下的一些问题。我

doublesmile的专栏 374

hover不兼容处理方法

在ie6 以下只有a标签才支持:hover 伪类,其它标签都不支持,现在可以通过 csshover.htc 可以解决 ie6 的 hover 兼容问题。 利用 javascript 脚本来给元素的的样式定义,如果检测到 hover 定义,就给元素设置 onmouseover 和 onmouseout 事件,以此来实现 hover 的效果。 具体如下: var currentSheet

weixin_36577262的博客 1049

css伪类hover ie6bug,揭开IE6下hover不显示原因

:hover是我们在CSS设计中最常运用的伪类之一,许多绚丽效果的实现离不开伪类:hover,比如我们常见的纯CSS菜单、相册效果等等。或许用了这么久的伪类:hover,还有部分朋友还不完全了解hover的规则:在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。 但目前IE5.5、IE6仅支持CSS1中的:hov

niityangjun1的专栏 1045

:hover在IE6的使用

在IE7+及FF浏览器中,:hover伪类可以用于任何对象,但在IE5、IE6中,:hover伪类仅能用于a(超链接)对象,且该a对象必须要拥有href属性。 下面是一个鼠标悬停弹出层的代码: -------------------------------------- &lt;style type="text/css"&gt; #a{width:100px;height:100px;ba...

嘿嘿嘿 301
上一篇: MUI IOS11以上刘海屏APP打包状态栏
下一篇: cnpm : 无法加载文件 C:\Users\wolffy\AppData\Roaming\npm\cnpm.ps1
脱了壳的�
博客等级 码龄8年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值