CSS——条件hack

hack与hasLayout的区别

  1. hack是针对IE不同版本的兼容方法
  2. hasLayout是针对IE浏览器特头的属性,为了兼容IE与不同浏览器之间的样式

 

方法hack

  1. CSS hack是一种特殊的代码,这段代码只在某些浏览器中可以识别,而其他浏览器不能识别,通过这种方式,来为一些浏览器设置特殊的代码
  2. 条件hack值对IE浏览器有效,其他的浏览器都会将它识别为注释,IE10及以上的浏览器已经不支持这种方式
  3. css的hack
    1.   
      <!--[if IE 8]>
      	<p>只有通过IE8浏览器打开该页面的时候才引用此css文件</p>
      	<link rel="stylesheet" type="text/css" href="style.css"/>
      <![endif]-->
      

        

  4. js的hack
    1.   
      <!--[if IE 8]>
      	<p>只有通过IE8浏览器打开该页面的时候才引用此css文件</p>
      	<script type="text/javascript" src="main.js"></script>
      <![endif]-->
      

        

hack版本关键字

  1. lte:小于等于
  2. lt:小于
  3. gte:大于等于
  4. gt:大于
  5. !:不等于
  6. 仅对大于IE6版本的有效
    1.   
      <!--[if gt IE  6]><link href="" type="text/css"  rel="stylesheet"  > <![endif]-->
      

       

 属性hack

  1.  位置:可以添加在css样式或者选择器前面,使用最多的是_和*,实在万不得已要用再用这个,因为这个给不同浏览器设置不同的样式,改的时候比较麻烦,容易遗漏。
  2. 在样式前面加下划线,则只有IE6及以下浏览器才可以识别
    1.   
      .box{
        _color:red  
      }
      

        

  3. // 在样式前面加*,则只有IE7及以下的浏览器才可以识别
    .box{
      *color:red  
    }
    

      

  4. // 在样式前面加 * html,则只有IE6浏览器才可以识别
    * html .box{
      color:red  
    }
    

      

 

 

end

 

posted @ 2021-01-29 15:55  小昱同学  阅读(152)  评论(0)    收藏  举报