zoukankan      html  css  js  c++  java
  • CSS:区分IE版本的三个方法

    As much as we don't like to deal with the IE bugs, we still have to face it because your boss and visitors are still using Explorer. It gets frustrating when different versions of Explorer displays web pages differently due to the inconsistent rendering engine. We typically use IE conditional comments to fix the IE issues. But there are more ways than the conditional comments...

    #1 IE Conditional Comments

    IE conditional comment is probably the most commonly used to fix the IE bugs for specific versions (IE6, IE7, IE8). Below are some sample code to target different versions of Internet Explorer:

    • <!--[if IE 8]> = IE8
    • <!--[if lt IE 8]> = IE7 or below
    • <!--[if gte IE 8]> = greater than or equal to IE8
    • <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->
      <!--[if IE]> 所有的IE可识别 <![endif]-->
      <!--[if IE 6]> 仅IE6可识别 <![endif]-->
      <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
      <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
      <!--[if IE 7]> 仅IE7可识别 <![endif]-->
      <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->
      <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
      <!--[if IE 8]> 仅IE8可识别 <![endif]-->
      <!--[if IE 9]> 仅IE9可识别 <![endif]-->

    <!--[if !(IE 9)]

    <!--[if (IE 6)||(IE 7)]

    <!--[if IE 8]>
    <style type="text/css">
    	/* css for IE 8 */
    </style>
    <![endif]-->
    
    <!--[if lt IE 8]>
    	<link href="ie7.css" rel="stylesheet" type="text/css" />
    <![endif]-->

    #2 CSS Rules Specific to Explorer (IE CSS hacks)

    Another option is to declare CSS rules that can only be read by Explorer. For example, add an asterisk (*) before the CSS property will target IE7 or add an underscore before the property will target IE6. However, this method is not recommended because they are not valid CSS syntax.

    • IE8 or below: to write CSS rules specificially to IE8 or below, add a backslash and 9 (\9) at the end before the semicolon.
    • IE7 or below: add an asterisk (*) before the CSS property.
    • IE6: add an underscore (_) before the property.
    .box {
    	
    	background: gray; /* standard */
    
    	background: pink\9; /* IE 8 and below */
    
    	*background: green; /* IE 7 and below */
    
    	_background: blue; /* IE 6 */
    
    }
    

    #3 Conditional HTML Class

    The third option, which was founded by Paul Irish, is to add an CSS class with the IE version to the HTML tag by using IE conditional comments. Basicially, it checks if it is IE, then add a class to the html tag. So to target specific IE version, simply use the IE class as the parent selector (eg. .ie6 .box). This is a clever way and it doesn't cause any validation errors.

    <!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
    <!--[if IE 7 ]> <html class="ie7"> <![endif]-->
    <!--[if IE 8 ]> <html class="ie8"> <![endif]-->
    <!--[if IE 9 ]> <html class="ie9"> <![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]-->
  • 相关阅读:
    TP隐藏入口
    CentOs5.2中PHP的升级
    centos 关闭不使用的服务
    也不知怎么了LVS.SH找不到,网上搜了一篇环境搭配CENTOS下面的高可用 参考
    三台CentOS 5 Linux LVS 的DR 模式http负载均衡安装步骤
    分享Centos作为WEB服务器的防火墙规则
    Openssl生成根证书、服务器证书并签核证书
    生成apache证书(https应用)
    openssl生成https证书 (转)
    ls -l 列表信息详解
  • 原文地址:https://www.cnblogs.com/youxin/p/2116257.html
Copyright © 2011-2022 走看看