HTML5标记省略 语法规则
HTML5的标记可以省略,在不影响页面布局的情况下,可以节省网页体积大小。减少代码量。 某些标记可以省略。 省略标记的开始标记并不意味着标记不存在,它是隐含的,但它仍然存在。一个HTML文件总是有一个根标记HTML,即使字符串没有出现在页面标记中的任何地方。 HTML标记的开始标记可以省略,如果HTML标记内的第一个标记不是注释。 HTML标记的结束标记可以省略如果HTML标记不是随后立即跟随着一条注释。 head标记的开始标记可以省略,如果该标记是空的,或者head内的标记首先是一个标记而不是注释。 head标记的结束标记可以省略,如果head标记后没有立即跟随空格字符或注释。 一个body标记的开始标记可以省略,如果该标记是空的,或者如果在body标记的第一个标记是不是一个空格字符或注释,但如果body内部标记的第一个标记是一个脚本或样式标记,则不可以省略body标记。 一个body标记的结束标记可以省略,如果body标记不是随后立即跟随注释。 ### HTML5标记省略语法规则详解 #### 一、引言 HTML5作为Web开发的基础语言之一,其灵活性和易用性得到了广泛的认可。在HTML5中,开发者可以根据特定情况选择是否省略某些标记,这不仅可以简化代码,还能有效地减少文件体积,从而提升网页加载速度。本文将详细介绍HTML5中可以进行省略的标记及其规则。 #### 二、基本概念 在HTML5中,标记的省略是指在不影响文档结构与解析的前提下,允许某些标记的开始或结束标签被省略。这种做法并不会导致标记真正消失,而是将其视为隐含存在。例如,即使HTML文件中没有明确写出`<html>`标签,浏览器也会默认添加这个根元素。 #### 三、具体规则 ##### 1. HTML标记 - **开始标记**:如果HTML标记内的第一个标记不是注释,则HTML标记的开始标记可以省略。 - **结束标记**:如果HTML标记不是随后立即跟随着一条注释,则HTML标记的结束标记可以省略。 ##### 2. head标记 - **开始标记**:如果`<head>`标记是空的,或者`<head>`内的标记首先是一个标记而不是注释,则`<head>`标记的开始标记可以省略。 - **结束标记**:如果`<head>`标记后没有立即跟随空格字符或注释,则`<head>`标记的结束标记可以省略。 ##### 3. body标记 - **开始标记**:如果`<body>`标记是空的,或者如果在`<body>`标记的第一个标记不是一个空格字符或注释(但不包括脚本或样式标记),则`<body>`标记的开始标记可以省略。 - **结束标记**:如果`<body>`标记不是随后立即跟随注释,则`<body>`标记的结束标记可以省略。 ##### 4. 其他标记 - **li标记**:`<li>`标记的结束标记可以省略,如果`<li>`标记紧接着另一`<li>`标记或没有父标记更多内容。 - **dt标记**:`<dt>`标记的结束标记可以省略,如果`<dt>`的标记紧接着另一`<dt>`标记或一个`<dd>`标记之后。 - **dd标记**:`<dd>`标记的结束标记可以省略,如果`<dd>`紧跟另一个`<dd>`标记或`<dt>`标记,或者如果随后没有父标记更多的内容。 - **p标记**:`<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>`紧跟`<RT>`或`<RP>`标记,或者是没有父标记的更多内容。 - **rp标记**:`<rp>`标记的结束标记可以省略,如果`<rp>`紧跟`<RT>`或`<RP>`标记,或者是没有父标记的更多内容。 - **optgroup标记**:`<optgroup>`标记的结束标记可以省略,如果`<optgroup>`标记紧跟另一`<optgroup>`标记,或者是没有父标记更多的内容。 - **option标记**:`<option>`标记的结束标记可以省略,如果`<option>`标记紧跟另一`<option>`标记,或者紧跟一`<optgroup>`标记,或者后面没有父标记的更多内容。 - **colgroup标记**: - **开始标记**:`<colgroup>`标记的开始标记可以省略,如果`<colgroup>`标记内的第一个标记是一个`<col>`标记,或者如果标记后未跟着另一`<colgroup>`标记,且其结束标记已被省略。(注意:`<colgroup>`不能被忽略,如果该标记是空的。) - **结束标记**:在`<colgroup>`标记的结束标记可以省略,如果不立即`<colgroup>`标记是由一个空格字符或评论之后。 - **thead标记**:`<thead>`标记的结束标记可以省略,如果`<thead>`标记紧跟着一个`<tbody>`或`<tfoot>`标记。 - **tbody标记**: - **开始标记**:`<tbody>`标记的开始标记可以省略,如果里面的`<tbody>`标记首先是一个`<tr>`标记,如果该标记后没有已被省略掉结束标记的`<tbody>`、`<thead>`、`<tfoot>`标记。(注意:它不能被忽略,如果该标记是空的。) - **结束标记**:`<tbody>`标记的结束标记可以省略,如果`<tbody>`标记紧跟一个`<tbody>`或`<tfoot>`标记,或者如果随后没有父标记更多的内容。 - **tfoot标记**:`<tfoot>`标记的结束标记可以省略,如果`<tfoot>`标记紧跟一个`<tbody>`标记,或者如果随后没有父标记更多的内容。 - **tr标记**:`<tr>`标记的结束标记可以省略,如果`<tr>`标记紧跟另一`<tr>`标记,或者如果随后没有父标记更多的内容。 - **td标记**:`<td>`标记的结束标记可以省略,如果`<td>`标记紧跟`<td>`、`<th>`标记,或者如果随后没有父标记更多的内容。 - **th标记**:`<th>`标记的结束标记可以省略,如果`<th>`标记紧跟`<td>`、`<th>`标记,或者如果随后没有父标记更多的内容。 #### 四、注意事项 - 如果开始标记包含任意一个或多个属性,则该标记不能省略。 - 在实际应用过程中,虽然可以利用这些规则来优化代码,但在某些情况下(如涉及SEO或辅助技术支持时)应保持标记完整,以确保最佳的兼容性和可读性。 #### 五、总结 通过了解并合理运用HTML5中关于标记省略的规则,开发者可以在确保网页正确显示的同时,实现代码的简洁与高效。然而,为了保持代码的清晰度以及便于维护,建议在非必要情况下避免过度省略标记。对于进一步的学习与实践,可以参考相关资料,例如访问[html5中国](http://www.html5cn.org)获取更多信息。
- jianggc222013-03-17非常适合想学的人!
- 粉丝: 1
- 资源: 55
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MATLAB 图像处理:自动检测黑白像素比例的多功能代码(支持灰度和二值图像)
- windows平台下终端工具-tabby
- STM32和ucosii系统温度监控系统keil5工程
- HIVE-14706.01.patch
- C# WInForm IrisSkin2皮肤控件
- svn cleanup 失败怎么办
- Spring Boot集成Spring Security,HTTP请求授权配置:包含匿名访问、允许访问、禁止访问配置
- 易语言-画曲线模块及应用例程
- 电子元件行业知名厂商官网(TI/NXP/ST/Infineon/ADI/Microchip/Qualcomm/Diodes/Panasonic/TDK/TE/Vishay/Molex等)数据样例
- Cytoscape-3-10-0-windows-64bit.exe