zoukankan      html  css  js  c++  java
  • HTML条件注释

    HTML条件注释

     普通的HTML注释形式是

    <!-- 注释 -->

     而IE5~IE9这5个版本的IE浏览器还另外支持一种特殊的if条件注释(感觉有点类似模板渲染时的语法结构)

    <!--[if IE]> html语句 <![endif]-->

    这样在处理IE浏览器兼容性问题的时候就可以把hack代码集中在一块了,或者其他意想不到的用途


    if条件注释分为三种形式

    1、是否IE(即:!)

    <!--[if IE]> html代码 <![endif]-->
    <!--[if !IE]> html代码 <![endif]-->

    2、是哪个版本的IE(即:=)

    <!--[if IE 6]> html代码 <![endif]-->
    <!--[if IE 8]> html代码 <![endif]-->

    3、是哪个区间的IE(即:<,<=,>,>=)

    <!-- IE8以下版本的浏览器才会执行内部的html代码,如需要包含IE8则使用lte -->
    <!--[if lt IE 8]> html代码 <![endif]-->
    
    <!-- IE7以上版本的浏览器才会执行内部的html代码,如需要包含IE7则使用gte -->
    <!--[if gt IE 7]> html代码 <![endif]-->

    对于条件注释

    IE5~IE9的视角是:

     其他浏览器的视角是:

    那么如果想要if条件注释中所谓的html代码IE5~IE9虽然能识别但是不能执行,而其他浏览器也能识别并执行的话,可以这样写

    <!--[if !IE]>--> html代码 <!--<![endif]-->

    思路就是把条件注释语法结构的前缀和后缀分别给注释掉,这时

    IE5~IE9的视角变成了:

    其他浏览器的视角则变成:

    就都能识别出中间的代码了。


    个人觉得使用条件注释的时候的一个注意点

    <!--[if !IE]>-->
    <script src="js/jquery-3.2.1.min.js"></script>
    <!--<![endif]-->
    
    <!--[if IE]>
    <script src="js/jquery-1.12.4.min.js"></script>
    <![endif]-->

    就是在每个浏览器中上边两个中只能使用一个的话一定得记得把IE9考虑进来,因为它也是能识别条件注释的(感觉IE9就是IE向现代高级浏览器过渡的东西,CSS3只支持一部分,但是之前IE专有的一些问题照样存在

  • 相关阅读:
    用Rails.5.2+ Vue.js做 vue-todolist app
    vue-router
    Vue.js教程--基础2(事件处理 表单输入绑定
    Vue组件(知识)
    Vue.js教程--基础(实例 模版语法template computed, watch v-if, v-show v-for, 一个组件的v-for.)
    ActiveRecord Nested Atrributes 关联记录,对嵌套属性进行CURD
    (GoRails) 自动侦测用户的时区,使用javascript 的jszt库。
    (GoRails) 如何去掉form输入框头尾的空格;何时用callbacks,gem;
    JQ each
    JQ 更改li 颜色
  • 原文地址:https://www.cnblogs.com/lanselove/p/8545277.html
Copyright © 2011-2022 走看看