Jadual Kandungan
定义
用法
浏览器的支持情况" >浏览器的支持情况
高级应用
1、分配工作" >1、分配工作
2、说明功能模块及使用方法
3、对于页面制作的备注" >3、对于页面制作的备注
4、在页内CSS/JS的作用
5、利用注释插入代码
6、利用条件注释来兼容各浏览器
条件注释html标签
根据注释引用不同的样式表
根据条件加载js
BUG问题
IE6下的小尾巴
注释出现在DOCTYPE之前
前端其它注释
css中的注释
js中的注释
总结
Rumah hujung hadapan web html tutorial 聊一聊HTML <!--…-->标签

聊一聊HTML <!--…-->标签

Jun 01, 2016 pm 02:32 PM

定义

注释标签用于在html源代码中插入注释。注释不会在浏览器上显示。

用法

根据定义的基本用法,代码如下

<!-- 这是一段注释,我不会显示在页面上 -->
Salin selepas log masuk

浏览器的支持情况

所有浏览器都支持
上面这些只是最简单的定义和使用方法。对于注释的使用,有哪些更高级的使用。

高级应用

1、分配工作

<!-- todo:张三 begin -->
<div></div>
<!-- end -->
Salin selepas log masuk

2、说明功能模块及使用方法

<!-- 激活状态类:active,默认状态类:default,无法使用状态类:disabled -->
<ul><li class="active">激活</li><li class="default">默认</li><li class="disabled">无法使用</li></ul>
Salin selepas log masuk

3、对于页面制作的备注

<!-- 此页面创建于2016/5/31,前端:李四,设计:王五 -->
Salin selepas log masuk

以上3种应用都是基于注释的说明作用,利用其在浏览器上不显示的特性,对文档进行说明,方便工作中跨组跨部门的沟通。

4、在页内CSS/JS的作用

用于兼容老版的浏览器,对于js和css还无法识别。(只用于了解,现在基本可以放弃使用这个功能了),代码如下

<!DOCTYPE html>
<html>
<head>
<style>
.good{color:red;}
</style>
</head>
<body>
<script>alert('good')</script>
<p>morning</p>
</body>
</html>
Salin selepas log masuk

上面的代码会直接显示在页面

.good{color:red;}alert('good')
morning
Salin selepas log masuk

可以使用注释,以防止代码显示,影响页面体验。

<!DOCTYPE html>
<html>
<head>
<style>
<!--
.good{color:red;}
-->
</style>
</head>
<body>
<script>
<!--
alert('good')
//-->
</script>
<p>morning</p>
</body>
</html>
Salin selepas log masuk

此处理还使用了//,是javascript的注释符号,防止js对-->执行。

5、利用注释插入代码

这点也是利用注释不会被页面渲染的特性,来对页面进行优化。可以用来存储数据,可以用来存储模板。

<!-- {id:10000,type:ad,image:1.jpg} -->
<div is-tpl>
<!--
<div>1111111</div>
<div>2222222</div>
-->
</div>
Salin selepas log masuk

这里的代码可以用正则表达进行匹配,来取出对应数据然后对数据进行解析处理。下面是使用jquery简单的演示代码

$('[is-tpl]').each(function(){
	console.log($(this).html())	
	var comment=$(this).html();
	$(this).html(comment.replace('<!--','').replace('-->',''));
})
Salin selepas log masuk

这样代码也正确显示了,具体注释里要放什么数据以及怎么处理,大家自己思考一下吧。

6、利用条件注释来兼容各浏览器

以下条件注释判断IE浏览器(IE10以后已经不支持这些注释了),其它浏览器都会认为下面是注释,不进行解析。

<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if IE]> 所有的IE可识别 <![endif]--> 
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 
<!--[if IE 6]> 仅IE6可识别 <![endif]--> 
<!--[if lt IE 6]> IE6以下版本可识别 <![endif]--> 
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]--> 
<!--[if IE 7]> 仅IE7可识别 <![endif]--> 
<!--[if lt IE 7]> IE7以下版本可识别 <![endif]--> 
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 
<!--[if IE 8]> 仅IE8可识别 <![endif]--> 
<!--[if IE 9]> 仅IE9可识别 <![endif]-->
Salin selepas log masuk

以上代码大家应该是比较熟悉的,只做js和移动端的高大上,应该没有见过。

看着很多,记忆这个可以根据下面的规律记:
a、基本结构:

<!--[if ]> 代码 <![endif]--> 
Salin selepas log masuk

b、和IE关系

  • 等于为空
  • 大于为gt
  • 小于为lt
  • 大小于加等于gte,lte

c、然后加版本号
d、最后记得中间用空格
记住一个特别的其他浏览器使用的。

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 
Salin selepas log masuk

这个可以解释成,两对注释加中间代码。

对于这些个条件注释的使用,经常看到有:

条件注释html标签

<!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]-->
Salin selepas log masuk

这个可以在特定的浏览器去对样式进行定义

.ie6 body{}
Salin selepas log masuk

上面这个只有在ie6的浏览器才会有这个样式。

根据注释引用不同的样式表

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

根据条件加载js

在IE6,引用对png24的图像支持的js

<!--[if IE 6]> 
<script src="DD_belatedPNG.js" mce_src="DD_belatedPNG.js"></script> 
<script type="text/javascript"> 
DD_belatedPNG.fix('.png');// .png改成使用了透明PNG图片的选择器 
</script> 
<![endif]--> 
Salin selepas log masuk

对于DD_belatedPNG.js,大家百度一下,很容易找到相关的使用方法和库。

BUG问题

IE6下的小尾巴

在ie6下,对于行内元素,中间添加注释,可能会产生,一个尾巴。

<div style="width:80px; background:red;"><!--我是一个注释--><a href="#">1</a><a href="#">12</a><a href="#">31</a><!--我是一个注释--><a href="#">41</a><a href="#">51</a><a href="#">61</a><!--我是一个注释--><a href="#">71asdfasfd</a><!--我是一个注释--></div>
<style>
a{
float:left;
display:inline-block;
padding:0 3px;
}
</style>
Salin selepas log masuk

如图

image
只要删除各行注释和换行,问题解决。

注释出现在DOCTYPE之前

虽然说DOCTYPE html之前不应该出现任何代码,但出现注释,各主流浏览器并不会出现问题。但在ie7及以下浏览器会无法识别渲染类型,导致使用怪异模式渲染,出现页面样式错乱。

<!--我是第一行的注释-->
<!doctype html>
<html>
<head>
<meta charset="gb2312">
<title>无标题文档</title>
<style>
.demo{
	width:100px;
	margin:0 auto;
	height:100px;
	background:red;
}
</style>
</head>

<body>
<div class="demo"></div>
</body>
</html>
Salin selepas log masuk

ie7及以下显示为

image

前端其它注释

css中的注释

/* 我是css中的注释 */
Salin selepas log masuk

css中的注释,只有这一种。

注意:使用中文注释注意在注释符号的前后各加一个空格,防止编码错误乱码导致样式无法读取。

js中的注释

单行注释

//我是单行注释
Salin selepas log masuk

多行注释

/* 我是多行注释
我是多行注释
*/
Salin selepas log masuk

建议都使用多行注释,以防止出现,换行符删除后出现的代码功能错误。

var s=10;//定义了s为10
var b=20;
console.log(b);
Salin selepas log masuk

少了换行符后

var s=10;//定义了s为10var b=20;
console.log(b);
Salin selepas log masuk

这时出现错误。
如果使用的多行则

var s=10;/*定义了s为10*/var b=20;
console.log(b);
Salin selepas log masuk

代码不会出错。

以上情况也会出现在多个js合并时,单行注释也会造成相应的错误。

总结

通过这一通查找资料,一直也没觉得一个注释标签可以整理这么多东西。里面有些比如建议或注意的问题,都是我在实际工作中遇到过的。其他没有接触的也无从写起了,还有什么漏掉的,可以在评论中给我一些建议。当然希望你对这个文章喜欢,并关注我。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Mar 20, 2025 pm 05:56 PM

Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Mar 12, 2025 pm 04:05 PM

Artikel ini menerangkan html5 & lt; time & gt; elemen untuk perwakilan tarikh/masa semantik. Ia menekankan pentingnya atribut DateTime untuk pembacaan mesin (format ISO 8601) bersama teks yang boleh dibaca manusia, meningkatkan aksesibilit

See all articles