QA: 自闭合标签要不要手动闭合?
起
自闭合标签末尾要不要加 /,这个问题一直 "困扰" 着我。但是抱着无所谓的态度,一直没有仔细去看下。
以 img 标签为例,一般有以下三种写法:
<img src="xxx">
<img src="xxx"/>
<img src="xxx" />一般我用最后一种,习惯的力量总是很强大,因为以前看到的规范中的一条就有这项(自闭合标签用 / 手动闭合)。
self-closing tags
自闭合标签,在 HTML5 中叫做 self-closing tags,在 HTML 规范中叫做 void-elements。
一共有下面这些:
<area />
<base />
<br />
<col />
<command />
<embed />
<hr />
<img />
<input />
<keygen />
<link />
<menuitem />
<meta />
<param />
<source />
<track />
<wbr />/ 前的空格是可选的。
是否必须
- HTML5: 可选
- HTML4: the slash is technically invalid. However, it's accepted by W3C's HTML validator.
- XHTML: 必须
结论
看来在 HTML5 中自闭合标签加上 / 是为了向前兼容 XHTML(XML 书写规范) ,可是毕竟 XHTML 的网页现在差不多已经绝迹了。以后再也不加了,省时省力,代码简洁,as lazy as possible,也是一种告别历史的决心吧
本文为流水账,如需了解更多,可以参考以下:
- http://xahlee.info/js/html5_non-closing_tag.html
- http://blog.jobbole.com/61514/
- https://stackoverflow.com/questions/3558119/are-non-void-self-closing-tags-valid-in-html5
- https://stackoverflow.com/questions/1946426/html-5-is-it-br-br-or-br
QA: 自闭合标签要不要手动闭合?的更多相关文章
- 配置 ESLint 自动格式化自闭合标签(Self closing tag)
		对于没有子元素或不需要子元素的 HTML 标签,通常写成其自闭合的形式会显得简洁些, - <SomeComponent></SomeComponent> + <SomeC ... 
- 关于html自闭合标签要不要加空格和斜杠的问题?
		问题描述:可能很多人都遇到过这个问题,写网页时,link img br input等等这些标签时到底要不要在结尾加上空格和斜杠呢? 我曾经貌似在<编写高质量代码>上看到过这样的介绍,遇到l ... 
- php 不写闭合标签
		参阅了一些文章,对PHP闭合标签的总结如下: 好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_st ... 
- html:常见行内标签,常见块级标签,常见自闭合标签
		本文内容: 常见行内标签 常见块级标签 常见自闭合标签 首发日期:2018-02-12 修改: 2018-04-25:删除了不常用的标签 常见行内标签: 什么是行内标签: 行内标签就是在页面内只占据刚 ... 
- 为什么有时候PHP没有闭合标签结束符 ?>
		找了一些资料,大家对PHP闭合标签的总结如下: 好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些 ... 
- 为什么有时候 php 没有写闭合标签结束符?
		找了一些资料,大家对PHP闭合标签的总结如下: 好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些 ... 
- PHP - 闭合标签
		最最开始的时候经常遇到这个问题,就是如果一个文件里面全部都是php代码的话,我写了前闭合和后闭合的时候,文件一多就容易报错,老是说什么有关输出的错误,貌似大概就是header已经发了. 手册上面这个样 ... 
- 自闭合标签-主动闭合标签-meta-link标签
		<!DOCTYPE html><!--规定标准的html--><!--一个页在只有一对html标签--><!--标签的属性 指定英文--><htm ... 
- 使用thymeleaf一旦没有闭合标签就会报错怎么解决
		问题:input标签未关闭报bug,代码稍有不慎就出小问题 使用springboot的thymeleaf模板时默认会对HTML进行严格的检查,导致当你的标签没有闭合时就会通不过,例如: //要想通过, ... 
随机推荐
- Java项目中使用Redis缓存案例
			缓存的目的是为了提高系统的性能,缓存中的数据主要有两种: 1.热点数据.我们将经常访问到的数据放在缓存中,降低数据库I/O,同时因为缓存的数据的高速查询,加快整个系统的响应速度,也在一定程度上提高并发 ... 
- SPCircleView的使用(圆心向四周扩散动画)
			今天封装了一个动画,想着以后可能会用,就封装了一下.欢迎下载 https://github.com/USimpleLife/SPCircleView 参数说明 @param centerPoint 中 ... 
- Udacity并行计算课程笔记-The GPU Programming Model
			一.传统的提高计算速度的方法 faster clocks (设置更快的时钟) more work over per clock cycle(每个时钟周期做更多的工作) more processors( ... 
- kafka副本机制之数据可靠性
			一.概述 为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中 ... 
- Hello 2018, Bye 2017
			2017年过去了,过去一年经历了太多,改变了好多好多,可以说人生进入了另一个阶段,有可能是成熟吧. 回顾2017 去年换了新工作,离开了将近工作了8年的公司,不带走一丝云彩,为其任劳任怨,最后没有任何 ... 
- swig官方go Examples 源码勘误
			勘误 在官网下载页面(http://www.swig.org/download.html )下载的swigwin-3.0.12包中go示例源码有个错误(swigwin-3.0.12\Examples\ ... 
- css样式清零及常用类
			css样式清零及常用类 @charset "utf-8"; /*CSS Reset*/ /*"微软雅黑","\5FAE\8F6F\96C5\9ED1& ... 
- 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
			新年快乐,继续来部分粘贴复制我的这一系列文章啦,如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://www.gitbook.com/@rogerz ... 
- K:java中枚举的常见用法
			用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. ... 
- 3D轮播切换特效 源码
			这个3D轮播切换特效是我2017年2月份写的 当初我 刚接触HTML不久,现在把源码分享给大家 源码的注释超级清楚 . <!-- 声明文档类型:html 作用:符合w3c统一标准规范 每个浏览器 ... 
