zoukankan      html  css  js  c++  java
  • css兼容

    在csss使用中我们发现会用一些兼容些问题,尤其在IE上表现的最为突出,毕竟IE人神共愤呀,一般我们大多数人会使用CSShack

    很多人会想到用前缀这种:

    -ms-transform:rotate(30deg); /* IE 9 */
    -moz-transform:rotate(30deg); /* Firefox */
    -webkit-transform:rotate(30deg); /* Safari and Chrome */
    -o-transform:rotate(30deg); /* Opera */

    类似上面这种,但在操作中发现并不是很好用,只能解决很少部分不兼容

    1、首先是火狐的兼容

    @-moz-document url-prefix() { .selector { property: value; } }

    这是仅被火狐识别的标示,其中方法细分还有很多,不过这个我感觉是最常用的。

    2、使用webkit的游览器比如chrome and safari

    @media screen and (-webkit-min-device-pixel-ratio:0) { Selector { property: value; } }

    3、Opera浏览器

     @media all and (min-0) { Selector {property: value;} }

    4、IE游览器

    首先是添加头部

    <meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=9" />

    类似这种头部网上有很多,大概意思就是让按规定的版本进行解析,效果还是非常好的,对于剩下有的小细节我一般三种:

    属性前缀法(即类内部Hack):例如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",IE6~IE10都认识"9",但firefox前述三个都不能认识。

    选择器前缀法(即选择器Hack):例如 IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。

    IE条件注释法(即HTML条件注释Hack):针对所有IE(注:IE10+已经不再支持条件注释): <!--[if IE]>IE浏览器显示的内容 <![endif]-->,针对IE6及以下版本: <!--[if lt IE 6]>只在IE6-显示的内容 <![endif]-->。这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。

    方法不多,不过够用就行了,IE的在我遇到的问题中条件注释法没用不知道是为什么。。。。可能人品太差了^-^

  • 相关阅读:
    [你必须知道的异步编程]——基于事件的异步编程模式
    [.Net线程处理系列]专题三:线程池中的I/O线程
    [.Net 线程处理系列]专题一:线程基础
    [.Net线程处理系列]专题四:线程同步
    [你必须知道的异步编程]——异步编程模型(APM)
    C#软件程序无法启动的故障
    CSS疑难杂症
    DIV+CSS排版时 如何解决img图片元素下多余空白
    SQL备份相关的语句大全
    SQLServer2000同步复制技术实现步骤
  • 原文地址:https://www.cnblogs.com/yuanzhiguo/p/6986144.html
Copyright © 2011-2022 走看看