2023年6月21日发(作者:)

学术论坛 CSS在浏览器中兼容问题的一些解决办法 许元朋于黎江 (鄂东职业技术学院信息中心湖北黄冈438000) 摘要:CSS因其优越性在网页设计中被大量应用,但因为各种浏览器的内核不同存在兼容性的问题。本文重点介绍了解决这种兼容性的方 法css Hack,并列举了几个常用的解决技巧. .关键词:CSS浏览器Hack技巧 中图分类号:TP39 文献标识码:A 文章编号:1007—9416(20l2)04—0275—02 在信息时代,网页成了人们获取信息的主要途径。人们在获取 信息时除了要求网页的信息量饱满外,对网页的外观、布局、色调也 提出了很高的要求。网页设计人员为了保证整个网站的风格色调统 一、美观大方,往往在页面中加入CSS样式表对整个网站的网页进 行统一控制。 但用户查看网页的浏览器有很多种类型,不同的浏览器在开发 过程中对CSS样式表解释意思不同或者是完全按照样式表的国际 通用标准W3C来设计,从而导致了一个页面在不同的浏览器中显 示的效果不一样,这样就出现了浏览器兼容的问题,给网页设计师 带来了很多不必要的麻烦。下面就跟大家一起探讨一下浏览器的兼 容性问题及在网页布局中的常用技巧。 1、如何解决兼容性问题 由于不同的浏览器, ̄HIE6,IE7,Mozilla Firefox等,对CSS 的解析认识不一样,因此会导致生成的页面效果不一样,得不到我 们所需要的页面效果。这个时候我们就需要针对不同的浏览器去 写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览 器中也能得到我们想要的页面效果,这就是CSS Hack。 CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack 以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器。 类内部Hack:比如IE6 ̄‘u。识别下划线”一”和星号” ”,IE7能 识别星号” ”,但不能识别下划线II—II,而firefox两个都不能认识。 选择器Hack:比如IE6能识别*htm1.class{},IE7能识别 *+htm1.class{}或者十:first-child+htm1.class{}。 HTML头部引用(if IE)Hack:针对所有IE:<!--[if IE]><!一 您的代码一一><![endif]一一>,针对IE6及以下版本:<f_-[if It IE 7]><f_一您的代码一一><![endif]-->,这类Hack不仅对CSS生效, 对写在判断语句里面的所有代码都会生效。 它们的书写顺序也不一样,一般是将识别能力强的浏览器的 CSS写在后面。对于我们经常用的IE6,IE7,FF这几个浏览器,他们 的书写顺序为:FF,IE7,IE6. 2、几种常用兼容性技巧 2.1区别不同浏览器CSS Hack的写法 区另1IE6与FF <style> body: background:red; *background:green; } </style> 在IE6中看到的是绿色,在firefox中看到的是红色。因为firefox 它不认识后面那个带星号的是什么东东,于是不解析它,所以背景 是红色的。 在IE6中,它两个background都能识别出来,它解析到的结果 是:div{background:red;background:green;},根据优先级别,处 在后面的gren的优先级高,所以这个div的背景颜色就是绿色的。 区 ̄lJIE6与IE7 <style> body{ background:red!important; background:green; } </style> 在IE6中看到的是绿色,在IE7中看到的是红色, 区 ̄l|IE7与FF <style> body{ background:red; 卡backgr0und:green; } </style> 在firefox中看到的是红色,在IE7中看到的是绿色,ifrefox不识 别星号. 区别FF,IE7,IE6 <style> body{ background:red; *background:green; background:blue; } </style> 在firefox中看到的是红色,在IE7中看到的是绿色,在IE6中看 到的是蓝色. 区 ̄}qFF,IE9,IE8,IE7,IE6 <style> body{ background:red; background:black\0, background:yellow\9; *background:green; background:blue; } </style> 在firefox中看到的是红色,在IE9中看到的是黑色,在IE8中看 ⑧ 

2023年6月21日发(作者:)

学术论坛 CSS在浏览器中兼容问题的一些解决办法 许元朋于黎江 (鄂东职业技术学院信息中心湖北黄冈438000) 摘要:CSS因其优越性在网页设计中被大量应用,但因为各种浏览器的内核不同存在兼容性的问题。本文重点介绍了解决这种兼容性的方 法css Hack,并列举了几个常用的解决技巧. .关键词:CSS浏览器Hack技巧 中图分类号:TP39 文献标识码:A 文章编号:1007—9416(20l2)04—0275—02 在信息时代,网页成了人们获取信息的主要途径。人们在获取 信息时除了要求网页的信息量饱满外,对网页的外观、布局、色调也 提出了很高的要求。网页设计人员为了保证整个网站的风格色调统 一、美观大方,往往在页面中加入CSS样式表对整个网站的网页进 行统一控制。 但用户查看网页的浏览器有很多种类型,不同的浏览器在开发 过程中对CSS样式表解释意思不同或者是完全按照样式表的国际 通用标准W3C来设计,从而导致了一个页面在不同的浏览器中显 示的效果不一样,这样就出现了浏览器兼容的问题,给网页设计师 带来了很多不必要的麻烦。下面就跟大家一起探讨一下浏览器的兼 容性问题及在网页布局中的常用技巧。 1、如何解决兼容性问题 由于不同的浏览器, ̄HIE6,IE7,Mozilla Firefox等,对CSS 的解析认识不一样,因此会导致生成的页面效果不一样,得不到我 们所需要的页面效果。这个时候我们就需要针对不同的浏览器去 写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览 器中也能得到我们想要的页面效果,这就是CSS Hack。 CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack 以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器。 类内部Hack:比如IE6 ̄‘u。识别下划线”一”和星号” ”,IE7能 识别星号” ”,但不能识别下划线II—II,而firefox两个都不能认识。 选择器Hack:比如IE6能识别*htm1.class{},IE7能识别 *+htm1.class{}或者十:first-child+htm1.class{}。 HTML头部引用(if IE)Hack:针对所有IE:<!--[if IE]><!一 您的代码一一><![endif]一一>,针对IE6及以下版本:<f_-[if It IE 7]><f_一您的代码一一><![endif]-->,这类Hack不仅对CSS生效, 对写在判断语句里面的所有代码都会生效。 它们的书写顺序也不一样,一般是将识别能力强的浏览器的 CSS写在后面。对于我们经常用的IE6,IE7,FF这几个浏览器,他们 的书写顺序为:FF,IE7,IE6. 2、几种常用兼容性技巧 2.1区别不同浏览器CSS Hack的写法 区另1IE6与FF <style> body: background:red; *background:green; } </style> 在IE6中看到的是绿色,在firefox中看到的是红色。因为firefox 它不认识后面那个带星号的是什么东东,于是不解析它,所以背景 是红色的。 在IE6中,它两个background都能识别出来,它解析到的结果 是:div{background:red;background:green;},根据优先级别,处 在后面的gren的优先级高,所以这个div的背景颜色就是绿色的。 区 ̄lJIE6与IE7 <style> body{ background:red!important; background:green; } </style> 在IE6中看到的是绿色,在IE7中看到的是红色, 区 ̄l|IE7与FF <style> body{ background:red; 卡backgr0und:green; } </style> 在firefox中看到的是红色,在IE7中看到的是绿色,ifrefox不识 别星号. 区别FF,IE7,IE6 <style> body{ background:red; *background:green; background:blue; } </style> 在firefox中看到的是红色,在IE7中看到的是绿色,在IE6中看 到的是蓝色. 区 ̄}qFF,IE9,IE8,IE7,IE6 <style> body{ background:red; background:black\0, background:yellow\9; *background:green; background:blue; } </style> 在firefox中看到的是红色,在IE9中看到的是黑色,在IE8中看 ⑧