以html中input 元素placeholder=“密码”属性为例,IE10+可以展示这个属性,但是IE9及以下只能显示2个圆点,这样需要在能够显示的浏览器中显示,不能支持的则干脆去除placeholder属性。
<!-- 非IE浏览器 -->
<!--[if !IE]><!-->
<input type="text" name="username" placeholder="用户名" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" placeholder="密码" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<!--<![endif]-->
<!-- IE10及以上浏览器 -->
<!--[if gte IE 10]>
<input type="text" name="username" placeholder="用户名" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" placeholder="密码" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<![endif]-->
<!-- 小于IE9 -->
<!--[if lte IE 9]>
<input type="text" name="username" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<!-- 非IE浏览器 -->
<!--[if !IE]><!-->
<input type="text" name="username" placeholder="用户名" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" placeholder="密码" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<!--<![endif]-->
<!-- IE10及以上浏览器 -->
<!--[if gte IE 10]>
<input type="text" name="username" placeholder="用户名" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" placeholder="密码" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<![endif]-->
<!-- 小于IE9 -->
<!--[if lte IE 9]>
<input type="text" name="username" style="border:1px solid #4582bb; border-left:none;"/>
<input type="password" name="password" style="border:1px solid #4582bb; border-left:none; margin-top:-1px;"/>
<![endif]-->
其中!IE为所有非IE内核浏览器。gteIE10为>=IE10,lteIE9为<=IE9。第一次写此类html,记录以下。
另外,最近才知道IE的兼容模式,是为了支持低版本的浏览器,将IE版本调到IE7,所以会有一些属性不支持。
var version = navigator.appVersion;
var start = version.indexOf("MSIE");
var temp = version.slice(start+5, start+6);
if(temp==7){
alert("IE7浏览器或者是搞版本的兼容模式");
}