您现在的位置: 圆点视线 >> 教程 >> 网站设计技巧 >> 文章正文
[图文]解决IE7以下版本不支持无A状态伪类的几种方法           ★★★
解决IE7以下版本不支持无A状态伪类的几种方法
作者:网页教学…  文章来源:网页教学网  点击数:  更新时间:2007-10-24 18:23:48 
 页面功能:【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口 【字体:

在IE7以下版本一直是不支持无A状态伪类的,通常都要靠Javascript来解决的,最近经常有人问起此类问题,故整理了几种方法,脚本来自国外网站,供大家参考。

方法一

javascript文件,来自Htmldog

function suckerfish(type, tag, parentId) {  
if (window.attachEvent) {  
window.attachEvent("onload", function() {  
var sfEls = (parentId==null)?document.getElementsByTagName(tag):document.getElementById(parentId).getElementsByTagName(tag); 
type(sfEls);  
});  
}  
}  
sfHover = function(sfEls) {  
for (var i=0; i < sfEls.length; i++) {  
sfEls[i].onmouseover=function() {  
this.className+=" sfhover";  
}  
sfEls[i].onmouseout=function() {  
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");  
}  
}  
}  
sfFocus = function(sfEls) {  
for (var i=0; i < sfEls.length; i++) {  
sfEls[i].onfocus=function() {  
this.className+=" sffocus";  
}  
sfEls[i].onblur=function() {  
this.className=this.className.replace(new RegExp(" sffocus\\b"), "");  
}  
}  
}  
suckerfish(sfHover, "INPUT");  
suckerfish(sfFocus, "INPUT");  
suckerfish(sfHover, "p"); 
function suckerfish(type, tag, parentId) {
if (window.attachEvent) {
window.attachEvent("onload", function() {
var sfEls = (parentId==null)?document.getElementsByTagName(tag):document.getElementById(parentId).getElementsByTagName(tag);
type(sfEls);
});
}
}
sfHover = function(sfEls) {
for (var i=0; i < sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
sfFocus = function(sfEls) {
for (var i=0; i < sfEls.length; i++) {
sfEls[i].onfocus=function() {
this.className+=" sffocus";
}
sfEls[i].onblur=function() {
this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
}
}
}
suckerfish(sfHover, "INPUT");
suckerfish(sfFocus, "INPUT");
suckerfish(sfHover, "p");

脚本可改动的部分

   //这里写入你需要效果的标签  
suckerfish(sfHover, "INPUT");  
suckerfish(sfFocus, "INPUT");  
suckerfish(sfHover, "p"); 
   //这里写入你需要效果的标签
suckerfish(sfHover, "INPUT");
suckerfish(sfFocus, "INPUT");
suckerfish(sfHover, "p");

CSS

input:focus,input.sffocus {  
background: #F8F8F8;  
color: #333333;  
border: 1px solid red;  
}  
input:hover,input.sfhover{  
background: #EEE;  
color: #369;  
border: 1px solid #069;  
}  
p:hover,p.sfhover{  
background: #EEE;  
color: #333;  
border: 1px solid #069;  
}  
p:hover,p.sfhover{  
background: #EEE;  
color: #333;  

input:focus,input.sffocus {
background: #F8F8F8;
color: #333333;
border: 1px solid red;
}
input:hover,input.sfhover{
background: #EEE;
color: #369;
border: 1px solid #069;
}
p:hover,p.sfhover{
background: #EEE;
color: #333;
border: 1px solid #069;
}
p:hover,p.sfhover{
background: #EEE;
color: #333;
}

上面代码中第一个类是给支持CSS2的浏览器,第二个是给IE6及以下版本的。需注意的是,你给某标签设定了,那么整个页面内的这个标签都会沿用同一个样式。

[1] [2] 下一页

 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 文章录入:Rainsion    责任编辑:Rainsion  【字体:
 
  • 上一篇文章:

  •  
  • 下一篇文章: 没有了
  • 最新文章
    相关文章
    JavaScript使IE的经典异常 代码
    XHTML+CSS的目的和好处(WEB标准的目的和好处
    常见的CSS问题的“一站式”的解决方案
    国外译文:网页设计如何使用CSS的选择器模式
    CSS实现图片阴影效果三部曲(译文)
    CSS实现不定高度DIV绝对居中
    25条CSS制作网页编写的提醒及小技巧整理
    Opera 中的 CSS 妙用 ── Flash block
    什么是用户定义的样式表?
    制作网页时手写CSS应该注意的一点技巧
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
     姓  名: 评 分: 1分 2分 3分 4分 5分
     评论内容: ·严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
    ·用户需对自己在使用本网服务过程中的行为承担法律责任
    ·本站管理员有权保留或删除评论内容。
    ·评论内容只代表机友个人观点,与本网站立场无关。
     
    最 新 推 荐
     
    百度主题推广
    最 新 热 门