流行浏览器内核分类及不同版本的样式区别
发布时间:2013-03-19 10:50:39 作者:佚名 我要评论
流行浏览器内核分类:Trident内核、Gecko内核、WebKit内核、Presto内核,给出一个默认的样式表,能够最大地兼容流行浏览器以及IE浏览器几种版本的样式区别,感兴趣的朋友可以参考下,希望可以帮助到你
一、流行浏览器内核分类
1、Trident内核,代表产品IE。Trident(又称为MSHTML),是微软开发的一种排版引擎。Trident只能用于Windwos平台。
2、Gecko内核,代表作品Mozilla Firefox。Gecko是一套开放源代码的、以C++编写的网页排版引擎。它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等操作系统上运行,而且它提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。Gecko是最流行的排版引擎之一,仅次于Trident。
3、WebKit内核,主要代表作品有Safari和Google的浏览器Chrome。 webkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。Google的Android平台浏览器、Apple的iPhone浏览器、Nokia S60浏览器等所使用的浏览器内核引擎,都是基于WebKit引擎的。 WebKit内核也广泛应用于Widget引擎产品,包括中国移动的BAE、Apple的Dashboard以及Nokia WRT在内采用的均为WebKit引擎。
4、Presto内核,代表作品Opera。Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。在执行JavaScript时有着最快的速度。 Presto在推出后不断有更新版本推出,使不少错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎,这也是Opera被公认为速度最快的浏览器的基础。主要应用于手机平台。
二、区别几种浏览器
第一步,我们可以给出一个默认的样式表,能够最大地兼容流行浏览器。
<link rel="stylesheet" type="text/css" href="style.css" />
第二步,用IF语句来判断浏览器。
<!--[if IE]>
这段文字只在IE浏览器上显示
<![endif]-->
<!--[if IE 6]>
这段文字只在IE6浏览器上显示
<![endif]-->
<!--[if gt IE 6]>
这段文字只在IE6以上版本IE浏览器上显示
<![endif]-->
<!--[if ! IE 7]>
这段文字在非IE7浏览器上显示
<![endif]-->
<!--[if !IE]><!-->
这段文字只在非IE浏览器上显示
<!--<![endif]-->
词语解释:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! :就是不等于的意思,跟javascript里的不等于判断符相同
三、IE浏览器几种版本的样式区别
因为CSS3在IE9下是可以正常渲染,但是在IE8及以下版本不支持,此时我们又想让IE8及以下浏览器能够实现同样的效果。
“\9″ 只在IE6/IE7/IE8/IE9/IE10下生效
“\0” 只在 IE8/IE9/IE10下生效
“\9\0” 只在IE9/IE10下生效
如果只需要针对IE8的CSS,可先使用在IE8/IE9/IE10生效的“\0,再用仅在IE9/IE10生效的“\9\0”覆盖之前的样式。
例如:
selector{
color:#000;color:#F00\0; /* only for IE8&IE9&IE10 */
color:#000\9\0; /* only for IE9&IE10 */
}
这样就能在IE8中的颜色显示为:#F00
下面是IE5~IE9,Opera 9.5-9.6/FF 3.51-FF4,Safari,Google Chrome,Opera9.2,FF2/FF3.0/K-Meleon的样式
#example{
background:#036; /*Moz (& All browsers FF2/FF3.0/K-Meleon) 蓝色(#036)*/
_background:#F00; /*IE5 (& IE5.5/IE6) 红色(#F00)*/
/background:#630; /*IE8 beta1 褐色(#630)*/
background:#09F\0; /*IE8/IE9 */
background:#09F\0/; /*IE8 only 蓝色(#09F)*/
}
:root #example { background:#963\0 } /*IE9 only 咖啡色(#963)*/
#example{
*background:#f60; /*IE7 (& IE5.5/IE6) 橘色(#f60)*/
_background:#000; /*IE6 (& IE5.5) 黑色(#000)*/
_background:#390; /*IE5.5 绿色(#390)*/
}
@media all and (min-width:0){ /*webkit and opera */
#example{background:#f06;} /*Opera 9.5-9.6/FF 3.51-FF4, 粉色(#f06)*/
}
@media screen and (-webkit-min-device-pixel-ratio:0){
#example{background:#609;} /*webkit (& Safari,Google Chrome,Opera9.2, 紫色(#609)*/
}
/* webkit */
@media screen and (-webkit-min-device-pixel-ratio:0){ #example{} }
/* opera */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { #example{} }
/* firefox */
@-moz-document url-prefix(){ #example{} }
1、Trident内核,代表产品IE。Trident(又称为MSHTML),是微软开发的一种排版引擎。Trident只能用于Windwos平台。
2、Gecko内核,代表作品Mozilla Firefox。Gecko是一套开放源代码的、以C++编写的网页排版引擎。它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等操作系统上运行,而且它提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。Gecko是最流行的排版引擎之一,仅次于Trident。
3、WebKit内核,主要代表作品有Safari和Google的浏览器Chrome。 webkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。Google的Android平台浏览器、Apple的iPhone浏览器、Nokia S60浏览器等所使用的浏览器内核引擎,都是基于WebKit引擎的。 WebKit内核也广泛应用于Widget引擎产品,包括中国移动的BAE、Apple的Dashboard以及Nokia WRT在内采用的均为WebKit引擎。
4、Presto内核,代表作品Opera。Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。在执行JavaScript时有着最快的速度。 Presto在推出后不断有更新版本推出,使不少错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎,这也是Opera被公认为速度最快的浏览器的基础。主要应用于手机平台。
二、区别几种浏览器
第一步,我们可以给出一个默认的样式表,能够最大地兼容流行浏览器。
复制代码
代码如下:<link rel="stylesheet" type="text/css" href="style.css" />
第二步,用IF语句来判断浏览器。
复制代码
代码如下:<!--[if IE]>
这段文字只在IE浏览器上显示
<![endif]-->
<!--[if IE 6]>
这段文字只在IE6浏览器上显示
<![endif]-->
<!--[if gt IE 6]>
这段文字只在IE6以上版本IE浏览器上显示
<![endif]-->
<!--[if ! IE 7]>
这段文字在非IE7浏览器上显示
<![endif]-->
<!--[if !IE]><!-->
这段文字只在非IE浏览器上显示
<!--<![endif]-->
词语解释:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! :就是不等于的意思,跟javascript里的不等于判断符相同
三、IE浏览器几种版本的样式区别
因为CSS3在IE9下是可以正常渲染,但是在IE8及以下版本不支持,此时我们又想让IE8及以下浏览器能够实现同样的效果。
复制代码
代码如下:“\9″ 只在IE6/IE7/IE8/IE9/IE10下生效
“\0” 只在 IE8/IE9/IE10下生效
“\9\0” 只在IE9/IE10下生效
如果只需要针对IE8的CSS,可先使用在IE8/IE9/IE10生效的“\0,再用仅在IE9/IE10生效的“\9\0”覆盖之前的样式。
例如:
复制代码
代码如下:selector{
color:#000;color:#F00\0; /* only for IE8&IE9&IE10 */
color:#000\9\0; /* only for IE9&IE10 */
}
这样就能在IE8中的颜色显示为:#F00
下面是IE5~IE9,Opera 9.5-9.6/FF 3.51-FF4,Safari,Google Chrome,Opera9.2,FF2/FF3.0/K-Meleon的样式
复制代码
代码如下:#example{
background:#036; /*Moz (& All browsers FF2/FF3.0/K-Meleon) 蓝色(#036)*/
_background:#F00; /*IE5 (& IE5.5/IE6) 红色(#F00)*/
/background:#630; /*IE8 beta1 褐色(#630)*/
background:#09F\0; /*IE8/IE9 */
background:#09F\0/; /*IE8 only 蓝色(#09F)*/
}
:root #example { background:#963\0 } /*IE9 only 咖啡色(#963)*/
#example{
*background:#f60; /*IE7 (& IE5.5/IE6) 橘色(#f60)*/
_background:#000; /*IE6 (& IE5.5) 黑色(#000)*/
_background:#390; /*IE5.5 绿色(#390)*/
}
@media all and (min-width:0){ /*webkit and opera */
#example{background:#f06;} /*Opera 9.5-9.6/FF 3.51-FF4, 粉色(#f06)*/
}
@media screen and (-webkit-min-device-pixel-ratio:0){
#example{background:#609;} /*webkit (& Safari,Google Chrome,Opera9.2, 紫色(#609)*/
}
/* webkit */
@media screen and (-webkit-min-device-pixel-ratio:0){ #example{} }
/* opera */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { #example{} }
/* firefox */
@-moz-document url-prefix(){ #example{} }
相关文章
- 这篇文章主要介绍了浅谈原生页面兼容IE9问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起2020-12-16
- 这篇文章主要介绍了新版chrome浏览器设置允许跨域的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起2020-11-30
css hack之\9和\0就可能对hack IE11\IE9\IE8无效
每次设计一张网页或一个表单,都被各种浏览器的兼容问题伤透脑筋,尤其是IE家族。在做兼容性设计时,我们往往会使用各种浏览器能识别的独特语法进行hack,从而达到各种浏览2020-03-20css区分ie8/ie9/ie10/ie11 chrome firefox的代码
这篇文章主要介绍了css区分ie8/ie9/ie10/ie11 chrome firefox的代码,需要的朋友可以参考下2020-03-20- 这篇文章主要介绍了解决CSS浏览器兼容性问题的4种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学2020-02-28
- 这篇文章主要介绍了常见的浏览器兼容性问题(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学2020-02-20
- 这篇文章主要介绍了border-radius IE8兼容处理的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学2020-02-12
- 这篇文章主要介绍了浅谈遇到的几个浏览器兼容性问题,详细的介绍了几种我遇到的问题和解决方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-09-26
- 这篇文章主要介绍了base64图片在各种浏览器的兼容性处理的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-14
- 这篇文章主要介绍了对常见的css属性进行浏览器兼容性总结(推荐)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-20
最新评论