关于css hack 和 浏览器内核问题

作为web开发人员总是与不同的浏览器打交道,让各种浏览器乖乖的执行我们所敲出来的代码,这就是我们的工作。所以必须了解hack机制和各浏览器的内核。

以下是我的经验总结,部分是网上资料所下:

注意点:

网上很多资料中常常把!important也作为一个hack手段,其实这是一个误区。!important常常被我们用来更改样式,而不是兼容hack。造成这个误区的原因是IE6在某些情况下不主动识别!important,以至于常常被人误用做识别IE6的hack。可是,大家注意一下,IE6只是在某些情况下不识别(ie6下,同一个大括号里对同一个样式属性定义,其中一个加important 则important标记是被忽略的,例:{background:red!important; background:green;} ie6下解释为背景色green,其它浏览器解释为背景色red;如果这同一个样式在不同大括号里定义,其中一个加important 则important发挥正常作用,例:div{background:red!important} div{background:green},这时所有浏览器统一解释为背景色red。)

由于越来越趋于商业化,各种浏览器也会进行血拼。于是现在不单单是IE, Firefox, Chrome的时代,更成了360,搜狗,腾讯等各种浏览器的称霸。

现在公司要求的兼容性,更多指的是IE6-10兼容和非兼容模式下,Firefox, Chrome, 360, 搜狗, QQ浏览器等用户使用频率比较高的浏览器下兼容。

其实很多浏览器还是参照原有的浏览器的内核来进行开发的,像360, 搜狗, QQ等新兴浏览器没有针对他们的hack,但是经验告诉我,其他他们差不多都是与IE7内核相近,利用IE7 hack可以进行调试。

原文地址:https://www.cnblogs.com/zlnana/p/3470803.html