预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CSS常用技巧之CSS书写技巧和CSSHACK技巧 什么是CSSHack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSSHack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS代码的过程,就叫CSSHack。 CSSHack常见的有三种形式: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:<!–[ifIE]><!–您的代码–><![endif]–>,针对IE6及以下版本:<!–[ifltIE7]><!–您的代码–><![endif]–>,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。 PS:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。 不同的浏览器,比如InternetExplorer6,InternetExplorer7,MozillaFirefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。这个针对不同的浏览器写不同的CSScode的过程,就叫CSShack,也叫写CSShack。 由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。 比如IE6能识别下划线“_”和星号“*”,IE7能识别星号“*”,但不能识别下划线“_”,而firefox两个都不能认识。等等 书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面列举常用的CSShack方法 1:!important !important作用是提高指定样式规则的应用优先权。 IE7以及所有标准浏览器能识别!important 区别IE6与IE7与其他浏览器 以下为引用的内容: 复制代码 代码如下: .browserTest { border:20pxsolid#60A179!important; border:20pxsolid#00F; } 在Mozilla中或者IE7浏览时候,能够理解!important的优先级,因此显示#60A179的颜色: 在IE6中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色: 2:* IE都能识别*;标准浏览器(如火狐)不能识别* 区别IE6与火狐 以下为引用的内容: 复制代码 代码如下: .browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; } 区别IE7与火狐 以下为引用的内容: 复制代码 代码如下: .browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; } 区别IE7,IE6与火狐 复制代码 代码如下: .browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F!important; *border:20pxsolid###; } 3:_ IE6支持下划线,IE7和firefox均不支持下划线 区别IE7,IE6与火狐 以下为引用的内容: 复制代码 代码如下: .browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; _border:20pxsolid###; } /*不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面*/ 4:*+html与*html *+html与*html是IE特有的标签,firefox暂不支持。而*+html又为IE7特有标签 以下为引用的内容: .browserTest{width:120px;}/*FireFoxfixed*/ *html.browserTest{width:80px;}/*ie6fixed*/ *+html.brow