And*_*rew 130 html html5 comments
最近我发现HTML5中可能有一种新的评论方式.
而不是<!-- -->
我读过的典型的多行评论,我想我注意到我的IDE经常被<!div >
注释掉了.所以我测试了它,而且我惊讶的是Chrome已经注释掉了这个标签.它只是注释掉的代码,而不是div的内容,所以我不得不注释掉接近<!/div>
,以避免关闭其他的div.
我测试了另一个,看起来通常在任何标签的开口前放置一个感叹号,这个符号<
使该标签被注释掉.
这真的是新的吗?这是不好的做法吗?它实际上非常方便,但它是否实用(如果不是新的)?
编辑额外的细节: 虽然语法错误或对这种特定语法的误解是一个很好的理由,但Chrome 实际上如何将它们作为完整注释呈现?
代码写成:
<!div displayed> some text here that is still displayed <!/div>
Run Code Online (Sandbox Code Playgroud)
然后它呈现为:
<!--div displayed--> some text here that is still displayed <!--/div-->
Run Code Online (Sandbox Code Playgroud)
Bol*_*ock 195
HTML5中没有新的评论标准.唯一有效的注释语法仍然是<!-- -->
.从W3C HTML5的8.1.6节:
注释必须以四个字符序列U + 003C LESS-THAN SIGN,U + 0021 EXCLAMATION MARK,U + 002D HYPHEN-MINUS,U + 002D HYPHEN-MINUS(
<!--
)开始.
该<!
语法起源于SGML DTD的标记,这是不HTML5的一部分.在HTML5中,它保留用于注释,CDATA部分和DOCTYPE声明.因此,这种替代方案是否是不好的做法取决于您是否认为使用(或更糟糕的是,依赖)过时的标记是不好的做法.
Validator.nu称你有"Bogus评论". - 这意味着它被视为评论,即使它不是有效的评论.这可能是为了与HTML5之前的后向兼容,这是基于SGML的,并且有标记声明采用了这种形式<!FOO>
,所以我不会称之为新的.他们正在处理的原因类似意见是因为SGML的标记声明并不意味着要呈现的特殊声明,但由于它们是无意义的HTML5(上述例外),至于HTML5 DOM而言,他们都无非评论更多.
8.2.4节中的以下步骤导致了这一结论,Chrome似乎跟随着这封信:
使用下一个输入字符:
"<"(U + 003C)
切换到标签打开状态.
使用下一个输入字符:
"!" (U + 0021)
切换到标记声明打开状态.
如果接下来的两个字符都是" - "(U + 002D)字符,请使用这两个字符,创建一个注释标记,其数据为空字符串,然后切换到注释开始状态.
否则,如果接下来的七个字符是单词"DOCTYPE"的ASCII不区分大小写匹配,则使用这些字符并切换到DOCTYPE状态.
否则,如果存在调整后的当前节点且它不是HTML命名空间中的元素,则接下来的七个字符是字符串"[CDATA ["(带有U +的五个大写字母"CDATA")区分大小写的匹配005B LEFT SQUARE BRACKET字符前后),然后消耗这些字符并切换到CDATA部分状态.
否则,这是一个解析错误.切换到虚假评论状态.消耗的下一个字符(如果有)是注释中的第一个字符.
请注意,只有遇到遇到的字符序列时才会切换到注释开始状态<!--
,否则这是一个虚假的注释.这反映了上文第8.1.6节中所述的内容.
消耗每个角色,包括第一个">"(U + 003E)字符或文件末尾(EOF),以先到者为准.发出注释标记,其数据是从所有字符开始并包括导致状态机切换到伪注释状态的字符的串联,直到并包括紧接在最后一个消费字符之前的字符(即直到字符就在U + 003E或EOF字符之前),但是任何U + 0000 NULL字符都被U + FFFD REPLACEMENT CHARACTER字符替换.(如果注释是在文件末尾(EOF)开始的,则令牌为空.同样,如果令牌是由字符串"
<!>
" 生成的,则令牌为空.)
用简单的英语,这原来<!div displayed>
成<!--div displayed-->
和<!/div>
成<!--/div-->
,完全按照问题描述.
最后,您可能希望其他符合HTML5标准的解析器与Chrome的行为相同.
Yve*_*nge 12
我不认为这是一个很好的习惯,因为<!
代表标记声明<!DOCTYPE
.因此,您认为它已被评论(嗯......浏览器会尝试解释它).
即使它没有出现,这似乎不是评论HTML代码的正确语法.
归档时间: |
|
查看次数: |
8212 次 |
最近记录: |