https://www.douban.com/note/314793848/ 随意的一个博客ie6的兼容

这个博客比较好 http://blog.csdn.net/chuyuqing/article/details/37561313/

这个博客更牛http://www.jb51.net/css/97298.html

ie6 http://www.cnblogs.com/duanhuajian/archive/2012/09/23/2699119.html

这个值得一看 http://www.tuicool.com/articles/6bAjim

http://blog.csdn.net/chow__zh/article/details/9132883

=======================================================

比如 两个前后的元素一个左浮动一个右浮动 在ie6就自动换行了,

比如 select在ie6是最顶层的元素,就是z-index永远是最高的,一般ie6下要套个frame

比如..

css兼容大部分上可以用hack方式解决。

js方面就更多了,

比如事件监听,非ie用addEventListener,新一点的ie用attachEvent,旧一点的(ie5)用element[onEvent]..

比如事件这个对象,非ie是用window.event调用,ie要把event作为参数调用进去

比如..

========================================================

========================================================

一些常见的js的兼容性问题

1、document.formName.item(“itemName”) 问题 
说明:IE下,可以使用document.formName.item(“itemName”)或document.formName.elements[“elementName”]; 
Firefox下,只能使用document.formName.elements[“elementName”]。 
解决方法:统一使用document.formName.elements[“elementName”]。

2、集合类对象问题 
说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象。 
解决方法:统一使用[]获取集合类对象。

3、自定义属性问题 
说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性,Firefox下,只能使用getAttribute()获取自定义属性。 
解决方法:统一通过getAttribute()获取自定义属性,不过更推荐直接通过“点”运算符访问元素属性。

4、eval(“idName”)问题 
说明:IE下,可以使用eval(“idName”)或getElementById(“idName”)来取得id为idName的HTML对象,Firefox下只能使用getElementById(“idName”)来取得id为idName的HTML对象。 
解决方法:统一用getElementById(“idName”)来取得id为idName的HTML对象。

5、变量名与某HTML对象ID相同的问题 
说明:IE下,HTML对象的ID可以作为document的下属对象变量名直接使用;Firefox下则不能.Firefox下,可以使用与HTML对象ID相同的变量名;IE下则不能。 
解决方法:使用document.getElementById(“idName”)代替document.idName,最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var,以避免歧义。

6、const问题 
说明:Firefox下,可以使用const关键字或var关键字来定义常量,IE下,只能使用var关键字来定义常量。 
解决方法:统一使用var关键字来定义常量。

7、input.type属性问题 
说明:IE下input.type属性为只读,但是Firefox下input.type属性为读写。 
解决方法:可以创建两个输入框,比如平时咱们有密码框,想通过把type为password的值改为text,IE下是不允许的。

8、 window.event问题 
说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用。Firefox必须从源处加入event作参数传递。IE忽略该参数,用window.event来读取该event。 
解决方法: var e = e || window.event;

9、event.x与event.y问题 
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性。 
解决方法:使用var x = e.x ? e.x : e.pageX; 来代替IE下的event.x或者Firefox下的e.pageX;

10、event.srcElement问题 
说明: IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。 
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target,请同时注意event的兼容性问题。

11、body问题 
说明:Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在。

12、firefox与IE的父元素(parentElement)的区别 
说明:IE支持parentElement和parentNode获取父节点,而FF只能使用后者。 
解决方法:统一使用parentNode;

13、innerText问题 
说明:innerText在IE中能正常工作,但是innerText在FireFox中却不行. 需用textContent。 
解决方法:elem.innerText = elem.textContent = “值”

14、样式单位问题 
说明:FireFox中设置HTML标签的style时,所有位置性和字体尺寸的值必须后跟px。这个ie也是支持的。 
15、样式关键字冲突问题 
说明:CSS属性与JavaScript中的保留关键字命名相同,IE中style+属性,非IE中css+属性。

16、class属性冲突问题 
说明:class属性冲突,class是javascript中的保留关键字。

17、年份获取问题 
说明:使用getFullYear替换getYear。

18、for属性冲突问题 
说明:lable标签的属性for冲突,在IE浏览器中getAttribute(“htmlFor”),在非IE浏览器中getAttribute(“for”)。 
19、removeChild和removeNode的问题 
说明:appendNode在IE和Firefox下都能正常使用,但是removeNode只能在IE下用,FF支持removeChild。

20、事件监听函数的问题 
说明:标准浏览器的写法addEventListener()和IE的写法attachEvent()。 
解决方法:判断addEventListener是否存在,如果存在则用否则用IE8以下的版本(含IE8)的绑定方法attachEvent,removeEventListener()和detachEvent()也是一样的用法。

21、阻止事件冒泡 
说明: stopPropagation()和cancelBubble,前者是方法,是标准的写法,后者是属性,赋值true表示阻止,是IE的写法。 
解决方法:判断stopPropagation是否存在,如果存在则用标准写法否则则用IE的写法,不可反过来判断。 
22、阻止默认事件 
说明: preventDefault()和returnValue()前者标准写法,后者IE写法。 
解决方法:一般情况建议直接使用return false阻止,但和取消默认事件的含义是不同的。

===============================================================================

===============================================================================

前端常见兼容性问题笔记

 

计算一定要精确

ie6子元素会撑开父级设置好的宽高

会出现兼容性问题 所以要计算好padding值

不要让内容的宽高超出父级设置的宽高

在ie6、7下元素浮动,

如果宽度需要内容撑开,就给里面的块元素都加浮动。

ie67下元素要通过浮动并列在一行就要都给元素加浮动  不然会出现兼容性问题

标签嵌套规范   内联不能嵌套块状

ie6最小高度问题 overflow解决

1px dotted 在ie6下不支持  解决  切背景平铺

margin 传递   浮动或者有宽高 或者

在ie6下解决margin传递要触发haslayout

在ie6下父级有边框的时候子元素margin值消失

解决 触发haslayout 尽量触发

ie6只支持 a标签的四个伪类[伪元素]

inline-block  ie6不支持块标签

浮动:

1.双倍边距bug        块 浮动 横向margin         display:inline

2.li本身没浮动内容浮动 ie6 li 内容浮动            给li加浮动     li加vertical-alian

其实就是浮动块状元素前面不能有内联文本的出现

ie6 下,下margin消失

当一行子元素占有的宽度之和和父级的宽度相差超过3px,或者有不满行状态的时候最有一行的子元素的下margin值就会失效、

ie6下文字溢出bug

原因 1.浮动元素前面有注释 或者内联元素

内联元素越多,溢出越多

子元素的宽度和父级的宽度相差小于3px的时候

解决办法用div包起来 或者把父级元素宽度调大

当浮动元素和绝对定位是并列关系的时候 绝对定位元素  会消失掉

解决办法给绝对定位元素套一层  包一个div 取消并列关系

相对定位:

在ie六下  元素有相对定位的话 父级的overflow 就包不住子级

解决办法 :给父级也加相对定位

绝对定位

在ie6下定位 元素的父级宽高是奇数的时候元素right 和bottom值会有1px的偏差 没办法解决尽量避免

固定定位 ie6不兼容。

表单元素

ie7 6下输入类型表单控件

上下有1px的间隙问题

解决:给input加浮动

boder:none失效

解决:input重新设置下背景 白色也设置下

输入文字把背景图挤出去

解决:把背景加给父级  清除自身背景 background:none;

-------------------------------------------------------------------

png问题 js文件解决

条件注释语句:

css  hack

important

margin负值  在ie6下超出父级 就被截掉

然后相对定位就可以解决

圣杯  据对定位

、等高布局

css兼容性的问题的更多相关文章

  1. css兼容性问题的整理

    css兼容性问题的整理 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1 ...

  2. CSS兼容性详解

    前面的话 对于前端工程师来说,不想面对又不得不面对的一个问题就是兼容性.在几年之前,处理兼容性,一般地就是处理IE低版本浏览器的兼容性.而近几年,随着移动端的发展,工程师也需要注意手机兼容性了.本文将 ...

  3. css 兼容性问题,整理

    css 兼容性问题,整理: css 兼容性问题 说明 <input type="number"> 在chrome下,是不能输入非数字的字符的:但是在火狐63.0.3(2 ...

  4. IE和Firefox浏览器CSS兼容性技巧整理

    转自:http://homepage.yesky.com/185/11484185all.shtml#p11484185 CSS兼容常用技巧(1) 更多精彩相关文章推荐: 各大浏览器 CSS3 和 H ...

  5. CSS 兼容性支持

    CSS 兼容性支持 在一个CSS属性还没有成为标准之前,各浏览器厂商已经做了这个属性的实现,可能各浏览器实现不尽相同,所以加入属性前缀区分. safari , chrome:-webkit- oper ...

  6. 浏览器对DIV+CSS兼容性问题大总结

    浏览器对DIV+CSS兼容性问题大总结 接触DIV+CSS架构已经快两年了,个人觉得css入门不难,但要学精并非一朝一夕的,现在大部分网络公司都比较主张用div+css来布局,这就面临着一个比较难的问 ...

  7. 解决css兼容性

    关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...

  8. 前端css兼容性与易混淆的点

    一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...

  9. IE7,6与Fireofx的CSS兼容性处理方法集结

    CSS对浏览器的兼容性有时让人很头疼,尤其是对于IE6这个问题多多的浏览器版本,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码 ...

  10. IE6 7下常见CSS兼容性处理

    以下是一些比较常见的IE6 7下的兼容性问题. 在当下这个时代,其实我们几乎可以不用再去针对IE6做兼容性的处理,除非你的公司还是诡异的要求你兼容到IE6.但是了解一些常见的兼容性问题还是可以帮助我们 ...

随机推荐

  1. iOS网络编程--NSConnection的同步连接与异步连接

    // // ZFViewController.m // 0628-表单验证 // // Created by zfan on 14-6-28. // Copyright (c) 2014年 zfan. ...

  2. 迅为iTOP-4418开发板兼容八核6818开发板介绍

    核心板介绍 三星四核S5P4418与八核6818完美兼容 1GB内存/2GB内存可选 电源管理:AXP228,支持动态调频,超低功耗 核心板引出脚最全:四组连接器共320个PIN脚 核心板连接器高度仅 ...

  3. A Personal Selection of Books on E lectromagnetics and Computational E lectromagnetics---David B. Davidson

    链接. General Books on Electromagnetics When our department recently reviewed our junior-level text, w ...

  4. EM basics- the Maxwell Equations

    All the two important problems that the EM theory trys to describe and explain are propogation and r ...

  5. 【温故而知新-Javascript】理解 DOM

    DOM(Document Object Model,文档对象模型)允许我们用 JavaScript 来探查和操作 HTML 文档里的内容.它对于创建丰富性内容而言是必不可少的一组功能. 1. 理解文档 ...

  6. UIView.frame的骗局

    如果你刚刚开始接触IOS编程, 刚刚接触UIKit, 肯定会被 frame, bounds, center, layer.anchorPoint, layer.position 这些乱七八糟得属性折腾 ...

  7. codeforces 442B B. Andrey and Problem(贪心)

    题目链接: B. Andrey and Problem time limit per test 2 seconds memory limit per test 256 megabytes input ...

  8. 只有图片拼接的html页面图片之间有白条的解决方法

    有时候会有这样的页面,整个页面也就是几张切好的图片组成,但是把这些图片使用代码拼接好,又总会出现图片间有白条的问题,如下图: 解决方法:给图片的父容器添加 line-height: 0; 就好了,因为 ...

  9. 014医疗项目-模块一:删除用户的功能l

    删除用户的功能我们还是按照:Dao->Service->Action->页面调试这种顺序来写. Dao: 我们使用逆向工程生成的方法就好: SysuserMapper sysuser ...

  10. 【转】【Http】Http各种错误的意思

    IIS状态代码的含义 当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码.该状态代码记录在II ...