- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CSS常用技巧之CSS书写技巧和CSS HACK技巧
CSS常用技巧之CSS书写技巧和CSS HACK技巧什么是CSS Hack?不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。CSS Hack常见的有三种形式:CSS属性Hack、CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器。1、属性级Hack:比如IE6能识别下划线”_”和星号” * “,IE7能识别星号” * “,但不能识别下划线”_”,而firefox两个都不能认识。2、选择符级Hack:比如IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。3、IE条件注释Hack:IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句。比如针对所有IE:!–[if IE]!–您的代码–![endif]–,针对IE6及以下版本:!–[if lt IE 7]!–您的代码–![endif]–,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都 会生效。PS:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。比如 IE6能识别下划线“_”和星号“ * ”,IE7能识别星号“ * ”,但不能识别下划线“_”,而firefox两个都不能认识。等等书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面列举常用的CSS hack方法1:!important!important作用是提高指定样式规则的应用优先权。IE7以及所有标准浏览器能识别!important区别IE6与IE7与其他浏览器以下为引用的内容:复制代码代码如下:.browserTest{border:20px solid #60A179 !important;border:20px solid #00F;}在Mozilla中或者IE7浏览时候,能够理解!important的优先级,因此显示#60A179的颜色:在IE6中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色:2:*IE都能识别*;标准浏览器(如火狐)不能识别*区别IE6与火狐以下为引用的内容:复制代码代码如下:.browserTest{border:20px solid #60A179;*border:20px solid #00F;}区别IE7与火狐以下为引用的内容:复制代码代码如下:.browserTest{border:20px solid #60A179;*border:20px solid #00F;}区别IE7,IE6与火狐复制代码代码如下:.browserTest{border:20px solid #60A179;*border:20px solid #00F !important;*border:20px solid ###;}3:_IE6支持下划线,IE7和firefox均不支持下划线区别IE7,IE6与火狐以下为引用的内容:复制代码代码如下:.browserTest{border:20px solid #60A179;*border:20px solid #00F;_border:20px solid ###;}/*不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面*/4:*+html 与 *html*+html 与 *html 是IE特有的标签, firefox 暂不支持。而*+html 又为 IE7特有标签以下为引用的内容:.browserTest { width: 120px; } /* FireFox fixed */*html .browserTest { width: 80px;} /* ie6 fixed */*+html .browserTest { width: 60px
文档评论(0)