1.各个浏览器内核?经常遇到的浏览器兼容性有哪些?解决办法?常用的hack技巧?

时间:2021-10-04 02:42:20

IE: trident内核

Firefox(火狐):gecko内核

Safari(苹果):webkit内核

Opera(欧鹏):以前是presto内核,现在是Blink内核

Chrome:Blink

兼容性:

(1)png24的图片在IE6浏览器出现背景,解决:做成PNG8

(2)浏览器默认的margin和padding不同,解决:css中该属性设置为0

(3)IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。浮动IE产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;} 会产生20px的距离,解决方案是在float的标签样式中加入display:inline;

(4)IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;

Firefox下,只能使用getAttribute()获取自定义属性.

解决方法:统一通过getAttribute()获取自定义属性.

(5)IE下,even对象有x,y属性,但是没有pageX,pageY属性;

Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.

Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示,

解决:可通过加入 CSS 属性 -webkit-text-size-adjust: none;

(6)超链接访问过后hover样式就不出现了 ,解决方法是改变CSS属性的排列顺序:

L-V-H-A :  a:link {} a:visited {} a:hover {} a:active {}