IE6的CSS样式兼容问题及CSS Hack
(以下所有内容仅用以记录学习过程中的个人理解,如有错误欢迎指出)
1. 大招CSS Hack
1.1 CSS Hack
由于不同浏览器/浏览器不同版本对CSS的解析不一致,导致不一致的页面显示效果,则需要针对特定浏览器编写特定的CSS样式,这个过程叫做CSS Hack。
1.2 条件注释
使用条件注释,为IE6单独写。
<!--[if lt/lte/(空)/gte/gt IE 6]>
......
<![endif]-->
//lt,less than
//lte,less than or equal
//gte,great than or equal
//gt,great than
<!-- 如下,在IE6及IE6以下版本中加载CSS -->
<!--[if lte IE 6]>
<link type="text/css" rel="stylesheet" href="css/ie6.css" mce_href="css/ie6.css" />
<![endif]-->
1.3 类内属性前缀法
类内属性前缀法:指在CSS样式属性前加上特定识别前缀,让特定浏览器识别该样式属性。
color{
background-color: red;
}
_color{//供IE6浏览器识别使用
background-color: red;
}
*color{//供IE7及IE7以下浏览器识别使用
background-color: red;
}
2. IE6双倍边距问题
问题:在IE6中,当一个向左/右浮动的元素设置了左/右外边距时,显示的外边距将会是设置值的两倍。
解决:
float: left;
//浮动元素设置display: inline本身没意义,但能解决该问题
display: inline;
3. IE6的圆角属性
问题:IE6不支持CSS3的圆角属性。
解决:
- 图片本身设置圆角;
- 放弃吧(〜 ̄△ ̄)〜。