zoukankan      html  css  js  c++  java
  • 针对IE浏览器的CSS样式(兼容性)

    1. IE hacks:

    "_"  是IE6 专有的hack;
    "9" 对IE6-IE10都有效;
    ""对IE8-IE10都有效;
    "9"对IE9-IE10都有效;

        优点:

               CSS hacks 内嵌在普通的 CSS 里面,不会产生更多 HTTP 请求。CSS hacks 内嵌在普通的 CSS 里面,编写时比较方便。

        缺点:

         它是不标准的产物。内嵌在其他 CSS 中,不便维护。尤其是当 hacks 的数量比较多的时候维护简直是个恶梦。内嵌在其他 CSS 中,即使在非 IE 浏览器中也会被加载,浪费资源。

    2.条件注释 CSS:

    <!--[if IE 6 ]>
       < link rel="stylesheet" type="text/css" media="all" href="./ie6.css" />
    < ![endif]-->

    <!--[if lte IE 8 ]>
       <link rel="stylesheet" type="text/css" media="all" href="./assets/css/ie8.css" />
    <![endif]-->

           条件注释是一种 IE 专有的、对常规(X)HTML 注释的 Miscrosoft 扩展。从 W3C 标准来说,它也是不标准的产物,但它是微软官方推出的针对 IE 进行开发的方式,

      并且条件注释对于其他所有浏览器作为常规注释出现,因此对其他浏览器无害

       优点:

      条件注释 CSS 的好处是在独立的 CSS 文件中编写,能准确控制在特定的 IE 中加载,不会造成资源浪费,并且便于维护。

       缺点:

           就是会产生多余的 HTTP 请求,尤其是当你需要兼容的 IE 版本很多的时候,你就需要产生多个 HTTP 请求,这对于本来通道数目就少的低版本 IE 来说无疑会影响页面加载速度。

                          以上两种方法不是很好,以下的方法相对来说会好点;

    3.条件注释 html 标签:

      这种方案也是利用条件注释,但并不是对 CSS 使用条件注释,而是对 html 标签使用条件注释,引入不同的 class ,从而区分不同的 IE 以及其他浏览器;

    <!DOCTYPE html>  
    <!--[if IE 6 ]> <html class="ie6 lte_ie6 lte_ie7 lte_ie8" lang="zh-CN"> <![endif]-->  
    <!--[if lte IE 6 ]> <html class="lte_ie6 lte_ie7 lte_ie8" lang="zh-CN"> <![endif]-->  
    <!--[if lte IE 7 ]> <html class="lte_ie7 lte_ie8" lang="zh-CN"> <![endif]-->  
    <!--[if lte IE 8 ]> <html class="lte_ie8" lang="zh-CN"> <![endif]-->  
    <!--[if (gte IE 9)|!(IE)]><!--><html lang="zh-CN"><!--<![endif]-->  

       然后把对特定 IE 的 CSS 加上相应的 class 并写在普通 CSS 文件里即可: .ie6 .header .nav {margin:0 0 0 ;padding:0 0 0 0; }

      优点:

        条件注释表达式的好处在于不会产生多余的 HTTP 请求;

      缺点:

        由于这些针对特定 IE 的 CSS 与普通的 CSS 放在一起,即不是相应的 IE 也会被加载,因此如果 CSS 数目比较多的话就会像使用 hacks 那样,造成浪费;

                          以上方法:需要根据具体情况选择方法。

  • 相关阅读:
    7种jvm垃圾回收器,这次全部搞懂
    3分钟学会redis主从复制搭建,及原理
    一文搞懂什么是递归,程序员必会算法之一
    Redis持久化方式:RDB和AOF详解,对比
    jvm垃圾回收算法详解,看这一篇就够了(求点赞)
    Redis命令大全,满足你的日常工作,看这一篇就够了(求点赞)
    Java自定义异常为什么性能差(求点赞)阿里双十一的性能凶手之一
    jvm类加载器,类加载机制详解,看这一篇就够了(求点赞)
    show processlist 命令详解,MySQL优化看这一篇就够了
    asp.net中的post和get请求操作
  • 原文地址:https://www.cnblogs.com/liaolei1/p/7306142.html
Copyright © 2011-2022 走看看