HTML5的标记可以省略,在不影响页面布局的情况下,可以节省网页体积大小。减少代码量。
某些标记可以省略。
省略标记的开始标记并不意味着标记不存在,它是隐含的,但它仍然存在。一个HTML文件总是有一个根标记HTML,即使字符串<html>没有出现在页面标记中的任何地方。
HTML标记的开始标记可以省略,如果HTML标记内的第一个标记不是注释。
HTML标记的结束标记可以省略如果HTML标记不是随后立即跟随着一条注释。
head标记的开始标记可以省略,如果该标记是空的,或者head内的标记首先是一个标记而不是注释。
head标记的结束标记可以省略,如果head标记后没有立即跟随空格字符或注释。
一个body标记的开始标记可以省略,如果该标记是空的,或者如果在body标记的第一个标记是不是一个空格字符或注释,但如果body内部标记的第一个标记是一个脚本或样式标记,则不可以省略body标记。
一个body标记的结束标记可以省略,如果body标记不是随后立即跟随注释。
li标记的结束标记可以省略,如果li标记紧接着另一li标记或有没有父标记更多内容。
一个DT标记的结束标记可以省略,如果dt的标记是紧接着另一dt的标记或一个dd标记之后。
dd标记的结束标记可以省略,如果dd紧跟另一个dd标记或dt标记,或者如果随后没有父标记的更多的内容。
p标记的结束标记可以省略,如果p标记后紧跟一个address, article, aside, blockquote, dir, div, dl, fieldset, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, menu, nav, ol, p, pre, section, table, ul,标记,或者如果没有更多的父标记的内容且父标记不是a标记。
一个RT标记的结束标记可以省略,如果rt的标记紧跟RT或RP标记,或者是没有父标记的更多内容。
一个rp标记的结束标记可以省略,如果rp标记紧跟RT或RP标记,或者是没有父标记的更多内容。
一个optgroup标记的结束标记可以省略,如果optgroup标记紧跟另一optgroup标记,或者是没有父标记更多的内容。
一个option标记的结束标记可以省略,如果option标记紧跟另一option标记,或者紧跟一optgroup标记,或者后面没有父标记的更多内容。
COLGROUP标记的开始标记可以省略,如果COLGROUP标记内的第一个标记是一个col标记,或者如果标记后未跟着另一COLGROUP标记,且其结束标记已被省略。 (COLGROUP不能被忽略,如果该标记是空的。)
在COLGROUP标记的结束标记可以省略,如果不立即COLGROUP标记是由一个空格字符或评论之后。
thead标记的结束标记可以省略,如果thead标记紧跟着一个tbody或tfoot标记。
tbody标记的开始标记可以省略,如果里面的tbody标记首先是一个TR标记,如果该标记后没有己被省略掉结束标记的tbody,thead,tfoot标记。 (它不能被忽略,如果该标记是空的。)
tbody标记的结束标记可以省略,如果tbody标记紧跟一个tbody或TFOOT标记,或者如果随后没有父标记更多的内容。
TFOOT标记的结束标记可以省略,如果TFOOT标记紧跟一个tbody标记,或者如果随后没有父标记更多的内容。
一个TR标记的结束标记可以省略,如果TR标记紧跟另一TR标记,或者如果随后没有父标记更多的内容。
一个TD标记的结束标记可以省略,如果TD标记紧跟td,th标记,或者如果随后没有父标记更多的内容。
一个th标记的结束标记可以省略,如果th标记紧跟td,th标记,或者如果随后没有父标记更多的内容。
但是,如果开始标记有任意一个或多个属性,它就不能省略。
英文原稿:http://www.w3.org/TR/2010/WD-html5-20100624/syntax.html#optional-tags
来源:http://www.netroby.com/ 翻译自w3c的工作案,心自逍遥关注WEB开发前沿技术标准,深入WEB企业应用开发。
感谢 W3C 的投稿