zoukankan      html  css  js  c++  java
  • css hack中遇到的一些问题

      之前在兼容一个网页的时候,ie8,ie9下的布局不一样。就想着针对ie8,ie9来做一个css hack。网上搜索来资料。9与9来区别ie8,ie9.我要兼容的属性时margin-top。但发现实现的效果ie8,ie9一样。我当时感到很迷惑。想难道这个方法不对。然后我就用跟这个方法去兼容颜色。却发现在ie8,ie9下有区别了。就感到很迷惑。我猜测可能的原因是这个hack属性只支持一部分样式的属性。后来我去专门找兼容ie9的方法。网上找到了:

    :root #foo{     color:#eee9; }
    但用了这个方法后。发现在ie10下打开页面。发现这个方法也适用于ie10。于是继续寻找ie10专属的hack。经过慢慢寻找,也终于找到。先加入脚本。

    <!--[if !IE]><!--><script>
    if (/*@cc_on!@*/false) {
    document.documentElement.className+=' ie10';
    }
    </script><!--<![endif]-->
    上面是用IE私有的条件编译(conditional compilation)结合条件注释来提供针对ie10的Hack:该脚本里面的IE排除条件注释,以确保IE6-9不承认它,然后它功能检测到了名为@ cc_on。

    然后继续给元素加样式

    .ie10 .example {
    /* IE10-only styles go here */
    }


  • 相关阅读:
    HTTP之multipart/formdata格式
    PHP之什么是CGI
    ObjectiveC之多语言的预编译头
    JS之addEventListener
    JS之要点Review
    iOS之JSON框架的选择
    iOS之Block笔记
    iOS之HTTP框架的选择
    PHP之自动加载对象
    HTTP之LastModified和ETag
  • 原文地址:https://www.cnblogs.com/zheng-neng-liang/p/5989901.html
Copyright © 2011-2022 走看看