当前位置: 移动技术网 > IT编程>网页制作>CSS > 非常不错的关于IE与FireFox的js和css几处不同点[转自星火燎原]

非常不错的关于IE与FireFox的js和css几处不同点[转自星火燎原]

2017年12月12日  | 移动技术网IT编程  | 我要评论
在蓝色上看到这篇文章的,感觉作者总结的不错,至少有些偶自己也没有真正的认识过。这些 东西的确是应该好好总结一下的,可惜偶这人比较懒,收藏整理于此,便于自己学习!

1.firefox不能对innertext支持。
firefox支持innerhtml但却不支持innertext,它支持textcontent来实现innertext,不过默认把多余的空格也保留了。如果不用textcontent,如果字符串里面不包含html代码也可以用innerhtml代替。
2.禁止选取网页内容:
在ie中一般用js:obj.onselectstart=function(){return false;}
而firefox用css:-moz-user-select:none

3.滤镜的支持(例:透明滤镜):
ie:filter:alpha(opacity=10);
firefox:-moz-opacity:.10;

4.捕获事件:
ie:obj.setcapture() 、obj.releasecapture()
firefox: document.addeventlistener("mousemove",mousemovefunction,true);
    document.removeeventlistener("mousemove",mousemovefunction,true);

5.获取鼠标位置:
ie:event.clientx、event.clienty
firefox:需要事件函数传递事件对象
    obj.onmousemove=function(ev){
        x= ev.pagex;y=ev.pagey;
    }

6.div等元素的边界问题:
比如:设置一个div的css::{width:100px;height:100px;border:#000000 1px solid;}
ie中:div的宽度(包括边框宽度):100px,div的高度(包括边框宽度):100px;
而firefox:div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;


所以在做这个兼容ie和firefox的拖动窗口时,在js和css的写法上要动点脑筋,给大家两个小技巧

一.判断浏览器类型:
var isie=document.all? true:false;
我写了一个变量,如果支持document.all语法那么isie=true,否则isie=false

二.在不同浏览器下的css处理:
一般可以用!important来优先使用css语句(仅firefox支持)
比如:{border-width:0px!important;border-width:1px;}
在firefox下这个元素是没有边框的,在ie下边框宽度是1px


几处xhtml与正常状态下的js、css的区别

在网页开头加了这个代码就是所谓的xhtml标准了<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

xhtml标准下的几个不同点:
1.document.documentelement 与 document.body
代码中设置页面的css时一定要用:document.documentelement 
比如:document.documentelement.style.overflow='hidden';
overflow-x、overflow-y 这两个分坐标属性xhtml是不支持的;

2.在取得网页窗口区域和获取滚动条位移距离时也要用document.documentelement 
即这四个属性(clientwidth、clientheight、scrollleft、scrolltop)一定要用document.documentelement 
但是document.body.appendchild()和document.body.removechild()却是可以用的,而且用document.documentelement.appendchild()和document.documentelement.removechild()代替却会报错;

总结一下仅clientwidth、clientheight、scrollleft、scrolltop和document.documentelement.style时才用document.documentelement

3.加了这个标准以后ie的边框问题也出现了变化,现在和firefox趋于一致了,是不是这个就是xhtml的优点——跨浏览器的标准
上面提到:
设置一个div的css::{width:100px;height:100px;border:#000000 1px solid;}
ie中(正常情况):div的宽度(包括边框宽度):100px,div的高度(包括边框宽度):100px;
firefox(正常情况)::div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;

加了xhtml标准后的(ie和firefox打和了,^_^):
ie中(xhtml):div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;
firefox(xhtml)::div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网