针对不同的IE浏览器版本,使用if条件来设置对应css样式,从而解决css hack
<!--[if IE]> Only IE <![endif]-->
所有的IE可识别
<!--[if IE 5.0]> Only IE 5.0 <![endif]-->
只有IE5.0可以识别
<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->
IE5.0包换IE5.5都可以识别
<!--[if lt IE 6]> Only IE 6- <![endif]-->
仅IE6可识别以内的css样式
<!--[if gte IE 6]> Only IE 6/+ <![endif]-->
IE6以及IE6以下的IE5.x都可识别
<!--[if lte IE 7]> Only IE 7/- <![endif]-->
仅IE7可识别以内的css样式
特别说明ie8不能使用if条件来设置div css样式,这里的“<!-”是css注解、css注释、css解释中用到相同,可以进入了解css 注释。这里使用css注释方式来解决if条件隐藏条件,从而在其它不符合if条件浏览器下不显示条件及解释if条件里样式,你可以了解下css隐藏其它方法。
通过以上的if条件来对不同版本浏览器调用不同css样式来解决css hack方法。
实例如下:
接下来我们只实验一个只有微软IE可识别,火狐不识别例子代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>IE的if条件css hack实例</title> <style type="text/css"> <!--[if IE]> <!-- .ys1 {color: #FF0000} --> <![endif]--> </style> </head> <body> |
截图如下
左边为微软IE浏览器,右边为火狐浏览器,通过if条件对样式设置只在ie中起作用后效果图。
特别说明的if条件在ie8中不能生效。