html中空元素的写法问题

   学了xml后,对空元素总喜欢用“<元素名/>”来表示,而不喜欢用“<元素名></元素名>”,因为前者更简洁。这种习惯随之带到了html中。
    不过,在html中,这样写空元素,却不能总是保证正常运行。在html中,有些空元素是直接用“<元素名>”表示,而没有结束标记,如:<br>,<input>,<img>,当然给这些元素加上结束标记也不会出错的。但有些空元素就不同了,比如:要在html中引入js文件,当然是用<script>标记,这里虽然<script>是一个空元素,但是却不能这样写:<script language="javascript" src= "js/treeMenu.js" / >,而必须写成<script language="javascript" src= "js/treeMenu.js"> </script> ,否则会出错。
    同样的,在<iframe>中,<iframe name="mainBody" src="1.jsp"> </iframe>  也不能写成 <iframe name="mainBody" src="1.jsp" / >,否则<iframe>后面的内容将不会被显示出来。这个就是我最近在课程设计中遇到的问题。

    注意:xml是W3C制定的一套规范的标记语言,它的语法很严格;而html就不同了,为了最大限度的显示页面,浏览器会对一些错误的语法做修正,比如标 记相互嵌套错误。当然作为合格的程序员,按照规范写程序是一个很好的习惯,不过在有些时候,需要注意一些细微的差别,就像前面所说 的<html>空元素写法问题一样,两种写法都符合语法要求,但是在html中,其中一种写法就是不能正常执行。


原文链接:http://blog.csdn.net/young_suse/article/details/3070644


有些html元素是没有像</html>这样的结束标签的,比如meta,但我在书上看到有这两种表达方式:
<meta charset=UTF-8> 和 <meta charset=UTF-8 />请问右边的“/>"和”>"有什么不同呢?是不是两种用法一样呢?
 
完全不同。。
根据w3c的原则,xml的每个开始标签必须有一个结束标签与之对应,也就是<html>必须要有</html>结束,才是一个完整的元素,除非它是一个自封闭标签,自封闭就是<img src="... " />之类的标签。
html是xml的子级,所以也要遵循xml的原则,这是标准。
所以,<meta charset=UTF-8> 不加/> 来结束,不符合标准,只适合html 4.0以前的版本,目前大多网站为了seo和多浏览器支持,都采用xhtml标准写法。

自封闭的html标签

所有自封闭的html标签

自封闭的html标签,非成对出现(单独出现),而且是以 / >结尾,称为自封闭。http://www.dreamdu.com/xhtml/forbidden_end_tags/

html标签主要分两类,两边封闭的,自封闭的,总结自封闭的html标签,主要是为了方便初学者记忆。不符合标准的我使用了灰色标注。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值