HTML注释
在HTML代码中,标签之间的文本是文档的注释,注释的内容不会被显示在浏览器页面上。只有在文本编辑器中,或浏览器的“查看源代码”选项打开文档时,才能看到注释。
HTML中的注释有两种类型,一种是HTML代码注释,一种是IE条件注释。
1、HTML代码注释
在一个大文档中,通过注释来标明区块的开始合结束的位置,可以方便查找,也可以通过注释来阻止某些内容显示。
当编写了大量代码时,对关键代码进行注释是一个良好的习惯,通过注释来说明某段代码的意图,有助于提醒自己或需要在这个网站上工作的其他人,了解这段代码的作用。
使用注释来隐藏脚本,也是一个良好的习惯,这样一来,不支持脚本的浏览器就不会把脚本作为纯文本显示出来。如:
2、IE条件注释
IE条件注释(Conditionalcomments),是IE浏览器对HTML代码注释的一种扩展,它是一种非标准逻辑语句,可以灵活的为不同版本的IE导入不同html元素,如样式表、html标签等。
条件注释在IE5首次出现,并得到后续版本的支持,其语法就是一个普通的HTML注释,IE以外的浏览器会把它作为注释而忽略。因此,它能通过W3C的校验,也不会对其他浏览器造成影响。
条件注释的功能非常强大,可以进行if条件判断,并根据判断结果是true或false,来决定是否要解析条件注释里的内容。
条件判断以结束,可以根据IE、非IE进行判断,还可以根据IE的版本号进行判断,版本号可以精确到小数点后4位。如:
/*所有IE,无论哪个版本*/
/*如果IE版本是6*/
条件判断中,还支持大于(gt:greaterthan)、小于(lt:lessthan)、大于等于(gte:greaterthanorequal)、小于等于(lte:lessthanorequal)、或(|)、与(&)、非(!)、括号。如:
/*如果IE版本大于6*/
/*如果IE版本小于等于9*/
/*如果IE版本是6或7*/
/*如果IE版本不是5.5*/
/*如果IE版本大于6,且小于等于9*/
借助条件注释,可以解决很多IE兼容性问题。如,IE9以下的版本不支持HTML5的新元素header、nav、aside、footer等,而在Internet上存在大量的html5shiv脚本可以解决该问题。只需下载相应的脚本,并在页面的头部,通过IE条件注释,让IE9以下的版本加载该脚本,就可以让这些老浏览器支持HTML5的新元素。
也可以使用同样的方法,来解决CSS的兼容性问题。如,IE6不支持一些CSS新特性,就可以专门针对IE6编写CSS文件,并只让IE6加载它:
一个好消息是,从IE10版本开始,不再支持条件注释。这标志着IE从此走向成熟、走向标准,Web设计师再也不必为IE的兼容性问题所困扰了。