ie6中hover无效的解决方法

IE6下伪类hover失效问题及解决办法 ie6对a:hover子标签的解读是建立在父标签的hover设置上的,换句话说如果不设置任何父标签a:hover{}则ie6就会停止对a的子标签hover解读,也就会出现ie6下a:hover设置失效的问题 立即下载

IE6只支持 a:hover ,标签 a 以外的hover在IE6下无效,解决办法如下:

在html页面(而不是css文件)中设置样式,
<style type="text/css">
body { behavior: url(css/hover.htc); }
< /style>

其中hover.htc文件的内容如下:
<attach event="ondocumentready" handler="parseStylesheets" />
< script language="JScript">
/**
* Pseudos - V1.30.050121 - hover & active
* ---------------------------------------------
* Peterned - http://www.xs4all.nl/~peterned/
* (c) 2005 - Peter Nederlof
*
* Credits - Arnoud Berendsen
*          - Martin Reurings
*           - Robert Hanson
*
* howto: body { behavior:url("csshover.htc"); }
* ---------------------------------------------
*/

var currentSheet, doc = window.document, activators = {
onhover:{on:'onmouseover', off:'onmouseout'},
onactive:{on:'onmousedown', off:'onmouseup'}
}

function parseStylesheets() {
//window.alert("hi");
var sheets = doc.styleSheets, l = sheets.length;
for(var i=0; i<l; i++)
   parseStylesheet(sheets[i]);
}
function parseStylesheet(sheet) {
   if(sheet.imports) {
    try {
     var imports = sheet.imports, l = imports.length;
     for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
    } catch(securityException){}
   }

   try {
    var rules = (currentSheet = sheet).rules, l = rules.length;
    for(var j=0; j<l; j++) parseCSSRule(rules[j]);
   } catch(securityException){}
}

function parseCSSRule(rule) {
   var select = rule.selectorText, style = rule.style.cssText;
   if(!(/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;
 
   var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
   var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
   var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
   var affected = select.replace(/:hover.*$/, '');
   var elements = getElementsBySelect(affected);

   currentSheet.addRule(newSelect, style);
   for(var i=0; i<elements.length; i++)
    new HoverElement(elements[i], className, activators[pseudo]);
}

function HoverElement(node, className, events) {
if(!node.hovers) node.hovers = {};
if(node.hovers[className]) return;
node.hovers[className] = true;
node.attachEvent(events.on,
   function() { node.className += ' ' + className; });
node.attachEvent(events.off,
   function() { node.className =
    node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
}

function getElementsBySelect(rule) {
var parts, nodes = [doc];
parts = rule.split(' ');
for(var i=0; i<parts.length; i++) {
   nodes = getSelectedNodes(parts[i], nodes);
} return nodes;
}
function getSelectedNodes(select, elements) {
   var result, node, nodes = [];
   var classname = (/\.([a-z0-9_-]+)/i).exec(select);
   var identify = (/\#([a-z0-9_-]+)/i).exec(select);
   var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
   for(var i=0; i<elements.length; i++) {
    result = tagName? elements[i].all.tags(tagName):elements[i].all;
    for(var j=0; j<result.length; j++) {
     node = result[j];
     if((identify && node.id != identify[1]) || (classname && !(new RegExp('\\b' +
      classname[1] + '\\b').exec(node.className)))) continue;
     nodes[nodes.length] = node;
    }
   } return nodes;
}
< /script>

ie6不兼容hover ie6 a hover属性失效解决办法 ie6 a hover不起作用已经是众所周知的了,网上也有大量于此相关的文章,看了一下吗把自己的总结写了出来,感兴趣的朋友可以了解下,或许对你学习浏览器兼容会有很多的帮助,话不多说切入正题 立即下载

相关推荐

深入AOSP构建系统:从BUILD_FINGERPRINT的生成逻辑,看如何定制你的Android设备标识

本文深入解析AOSP构建系统中的设备指纹生成机制,详细介绍了BUILD_FINGERPRINT的生成逻辑及其在Android设备中的关键作用。通过分析多个指纹属性的区别与联系,以及如何定制设备标识,帮助开发者更好地理解和掌握Android系统构建过程。

weixin_27017211的博客 217

解决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

Python量化入门:用pytdx获取800个交易日K线数据的完整指南(附代码)

本文为Python量化交易初学者提供了使用pytdx库免费获取股票日线级别K线数据的完整指南。文章详细介绍了从环境搭建、单只股票数据获取,到构建健壮的批量下载器、数据清洗与验证,再到基础分析与可视化的全流程,并附有可直接运行的代码示例,帮助读者快速建立本地股票数据库。

weixin_29050513的博客 1465

hover 在 ie 中使用失效问题

xiug div,p,li,ul,dl,dt,dd,input,textarea,fieldset{margin:0;padding:0;} ul,li{ list-style:none;} a{outline:none;} body{background:#000;margin:0;padding:0;} .page_wrap{width:739px;height:564px; backgr

pankay的专栏 1852

基于Cesium的北斗卫星轨道实时可视化系统开发实践

本文详细介绍了基于Cesium的北斗卫星轨道实时可视化系统开发实践,涵盖系统架构设计、轨道计算实现、后端服务开发及前端可视化实现等关键环节。通过优化算法和数据流设计,系统实现了厘米级精度的卫星轨道实时渲染,适用于导航卫星系统的科研与工程应用。

j7k8l的博客 520

无线Mesh组网全攻略:从原理、部署到调优与排障

对于布线困难的大户型、复式楼或园区,传统的无线中继往往面临带宽减半和链路不稳定的问题。无线Mesh网络通过多跳转发与自组织路由,让每个节点无需网线即可协作扩展覆盖,并依靠动态路径选择实现自愈。其核心技术涉及802.11s、HWMP路由协议,以及802.11k/v/r协同的无缝漫游,能有效提升终端切换体验。在实际部署中,设备选型、回程频段规划与布点位置直接决定网络质量。围绕无线Mesh的组网原理、设备选型、配置调优与故障排查,提供一套工程实践参考,帮助用户在复杂环境下构建稳定高效的无缝覆盖。

weixin_34098209的博客 272

jquery hover IE9

页面里用到了hover ,在其他浏览器都没有问题,唯独在ie9下不能用,然后用mouseover,mouseenter等替换还是不行。查了一下才知道,IE对于div和span之前没有内容的,就忽略了,所以不响应,需要在之间加入 。这样hover就起作用了

peakerli的专栏 1127

海康摄像头V3.4 升级改造VUE3

摘要:本文介绍了一个基于Vue3的海康威视摄像头组件封装方案。针对官方仅提供HTML版本SDK的问题,作者通过封装实现了Vue3组件化集成,解决了iframe/webview引入方式的弊端。组件核心功能包括实时预览、本地录像、录像下载、截图抓拍等,并优化了SDK初始化逻辑(单例模式)、定位问题修复和错误处理机制。关键技术点包括:1)SDK插件容器定位修复;2)录像下载进度监控;3)多格式图片数据处理;4)多窗口场景下的SDK实例管理。该组件可直接通过npm安装使用,提供了完善的API和事件接口,显著提升了海

LINLINLINShi的博客 113

IE6bug整理(hover a:hover) IE6 a:hover 无效

IE6bug整理(hover a:hover span) By Diaoyude  | 发布时间: 08-23 16:38  | Hits:857 | Post in: WEB前端 , Div-Css ie6 a:hover span 今天在项目中遇到了这样的一

renpinghao的专栏 1954

DeepSeek的训练与优化流程

DeepSeek的训练体系不仅追求极致的计算效率,更注重将物理规律、人类知识、安全伦理深度融入训练过程,其"效率-安全-可解释性"三角平衡的设计理念,为行业提供了重要参考范式。

m0_56896669的博客 1437

可乐学习NVMe之一:为什么SSD需要NVMe

1. NVMe SSD 结构简图 整体来看,NVMe SSD可以分为三部分,host端的驱动NVMe Driver、PCIe+NVMe实现的控制器以及NAND Flash+DDR4/DDR5存储介质。 芯片回片后Host侧软件或者驱动开发主要在应用层,通过一些测试工具进行benchmark跑分测试,performance性能分析,latency分析、stress-testing等等: 那么,接下来阐述为什么SSD需要NVMe,并再后续的文章介绍NVMe协议分析,个人针对协议的理解,如果有不当之处,还请各

Lucky 3169

csshover.htc 以及简单使用方法(解决IE6下 :hover 在其他标签下无效问题)

=============================== 注:传说LINUX操作系统不支持 .htc文件 =============================== 以下为csshover.htc 内容 <attach event="ondocumentready" handler="parseStylesheets" /><script lan...

aihuaizhi9100的博客 288

【数据库系统工程师】5.4Internet基础知识

目录一、思维导图二、知识点1.Internet 概述2.Internet 地址(1)域名(2)IP 地址(3)NAT技术(4)IPv6简介3.Internet 服务(1)域名服务(2)远程登录服务(3)电子邮件服务(4)WWW服务(5)文件传输服务 一、思维导图 二、知识点 1.Internet 概述 2.Internet 地址 (1)域名 ○ 一个完整、通用的层次型主机域名由如下4部分组成: 计算机主机名.本地名.组名.最高层域名 (2)IP 地址 ○ 每个IP地址都由4个小于256的数字组成,数字之

邓邓子的博客 911

IE6 下:hover 中bug解决了(纯CSS)

这个bug,主要是一个二级菜单,在ie7中hover时正常显示出来,在ie6下没有效果。在网上找了很多资料,弄了好几天,最终是参照别人的代码,用的纯css经过自己的整理,就把它给弄下来了。希望以后自己多来看看。如下: -------------------css代码:.allMenu{    width: 894px;    height: 22px;    line-height

wucaijuan的专栏 4549

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IE6 IE7 IE8 css bug兼容性解决方法总结归纳

转自 http://blog.youkuaiyun.com/freshlover/article/details/7605207 1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外。 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是由于其低级元素ul的padding引 起,paddi

角落里的火花集 726

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

常用js代码

1.网页上获得元素的绝对位置经常要用到的方法,其实很简单,使用obj.offsetLeft和obj.offsetTop是获得相对父元素的位置,所以只要遍历dom树就可以获得正确的位置了。有时候需要在html控件上覆盖一个div,这种情况下就可以用到了,代码如下:function findPos(obj) {    var curleft = curtop = 0;    if (obj.offse

0.0 586

HTML学习笔记

1.position:absolute 平时使用CSS布局时难免使用position:absolute进行绝对定位,absolute生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。position的默认值为static,所以要使设置的元素相对于父元素绝对定位,需要对父元素的position设置除了static以为的值。 断断续续的在开发过程中收集了好多的bug以及其解...

weixin_30838873的博客 85

收集的一些前端Bug概要。先记上一笔!(二)

26.超链接访问过后hover样式就不出现的问题 被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A a:link {color: #1f3a87; text-decoration:none;} a:visited {color: #83006f;text-decoration:none;} a:

xiaojia_37的专栏 802

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

解决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 * Licen

Tortoise_shell的博客 238

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

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

SUB 的专栏 1579

csshover.htc解决IE6 hover兼容问题

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

和上帝躲猫猫 1435

IE6 DIV不支持hover样式解决方法

IE6的CSS样式中DIV不支持hover样式,可以通过引入前辈们写好的HTC文件解决,方法如下:   1.复制下面代码到记事本中,另存为iehoverfix.htc文件,并将文件放到WEB目录中。   /*解决ie6.0 的hover兼容问题*/ &lt;attach event="ondocumentready" handler="parseStylesheets" /&gt; &...

iteye_15447的博客 147

html div hover css,IE6不支持hover赋予css样式的解决方法 如div:hover li:hover支持

一般对div选择器样式设置:hover ie6浏览器不支持,如li:hover img:hover .abc:hover非a链接标签设置hover其ie6均不支持,这里为大家整理完美兼容让ie6支持hover赋予css样式。对于类似的“p:hover”、“img:hover”、"li:hover"、".abc:hover"、“#header:hover”...IE6不支持hover,鼠标经过不会出...

weixin_35761085的博客 430

:hover在IE6的使用

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

嘿嘿嘿 301

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

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

dengrongshou5105的博客 165
下一篇: css设置浏览器的滚动条样式
莘莘丽儿
博客等级 码龄15年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值