CSS——条件hack
hack与hasLayout的区别
- hack是针对IE不同版本的兼容方法
- hasLayout是针对IE浏览器特头的属性,为了兼容IE与不同浏览器之间的样式
方法hack
- CSS hack是一种特殊的代码,这段代码只在某些浏览器中可以识别,而其他浏览器不能识别,通过这种方式,来为一些浏览器设置特殊的代码
- 条件hack值对IE浏览器有效,其他的浏览器都会将它识别为注释,IE10及以上的浏览器已经不支持这种方式
- css的hack
-
<!--[if IE 8]> <p>只有通过IE8浏览器打开该页面的时候才引用此css文件</p> <link rel="stylesheet" type="text/css" href="style.css"/> <![endif]-->
-
- js的hack
-
<!--[if IE 8]> <p>只有通过IE8浏览器打开该页面的时候才引用此css文件</p> <script type="text/javascript" src="main.js"></script> <![endif]-->
-
hack版本关键字
- lte:小于等于
- lt:小于
- gte:大于等于
- gt:大于
- !:不等于 仅对大于IE6版本的有效
-
<!--[if gt IE 6]><link href="" type="text/css" rel="stylesheet" > <![endif]-->
属性hack
- 位置:可以添加在css样式或者选择器前面,使用最多的是_和*,实在万不得已要用再用这个,因为这个给不同浏览器设置不同的样式,改的时候比较麻烦,容易遗漏。
- 在样式前面加下划线,则只有IE6及以下浏览器才可以识别
-
.box{ _color:red }
-
-
// 在样式前面加*,则只有IE7及以下的浏览器才可以识别 .box{ *color:red } -
// 在样式前面加 * html,则只有IE6浏览器才可以识别 * html .box{ color:red }
end

浙公网安备 33010602011771号