html中的结束标签问题
有些html元素是没有像</html>这样的结束标签的,比如meta,但我在书上看到有这两种表达方式:<metacharset=UTF-8>和<metacharset=U...
有些html元素是没有像</html>这样的结束标签的,比如meta,但我在书上看到有这两种表达方式:
<meta charset=UTF-8> 和 <meta charset=UTF-8 />请问右边的“/>"和”>"有什么不同呢?是不是两种用法一样呢? 展开
<meta charset=UTF-8> 和 <meta charset=UTF-8 />请问右边的“/>"和”>"有什么不同呢?是不是两种用法一样呢? 展开
8个回答
展开全部
完全不同。。
根据w3c的原则,xml的每个开始标签必须有一个结束标签与之对应,也就是<html>必须要有</html>结束,才是一个完整的元素,除非它是一个自封闭标签,自封闭就是<img src="... " />之类的标签。
html是xml的子级,所以也要遵循xml的原则,这是标准。
所以,<meta charset=UTF-8> 不加/> 来结束,不符合标准,只适合html 4.0以前的版本,目前大多网站为了seo和多浏览器支持,都采用xhtml标准写法。
根据w3c的原则,xml的每个开始标签必须有一个结束标签与之对应,也就是<html>必须要有</html>结束,才是一个完整的元素,除非它是一个自封闭标签,自封闭就是<img src="... " />之类的标签。
html是xml的子级,所以也要遵循xml的原则,这是标准。
所以,<meta charset=UTF-8> 不加/> 来结束,不符合标准,只适合html 4.0以前的版本,目前大多网站为了seo和多浏览器支持,都采用xhtml标准写法。
展开全部
这种规定是xhtml的,所有元素必须有结束标记
一、所有的标记都必须要有一个相应的结束标记
以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<br /><img height="80" alt="网页设计师" src="../images/logo_w3cn_200×80.gif" width="200" />
二、所有标签的元素和属性的名字都必须使用小写
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。
三、所有的XHTML标记都必须合理嵌套
同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:
<p><b></p>/b>必须修改为:<p><b></b>/p>
就是说,一层一层的嵌套必须是严格对称。
四、所有的属性必须用引号""括起来
在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:
<height=80>必须修改为:<height="80">
特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用',例如:
<alt="say'hello'">
五、把所有<和&特殊符号用编码表示
任何小于号(<),不是标签的一部分,都必须被编码为& l t ;
任何大于号(>),不是标签的一部分,都必须被编码为& g t ;
任何与号(&),不是实体的一部分的,都必须被编码为& a m p;
注:以上字符之间无空格。
六、给所有属性赋一个值
XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:
<td nowrap> <input type="checkbox" name="shirt" value="medium" checked>
必须修改为:
<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium" checked="checked">
七、不要在注释内容中使“–”
“–”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的:
<!–这里是注释———–这里是注释–>
用等号或者空格替换内部的虚线。
<!–这里是注释============这里是注释–>
以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。
一、所有的标记都必须要有一个相应的结束标记
以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<br /><img height="80" alt="网页设计师" src="../images/logo_w3cn_200×80.gif" width="200" />
二、所有标签的元素和属性的名字都必须使用小写
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。
三、所有的XHTML标记都必须合理嵌套
同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:
<p><b></p>/b>必须修改为:<p><b></b>/p>
就是说,一层一层的嵌套必须是严格对称。
四、所有的属性必须用引号""括起来
在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:
<height=80>必须修改为:<height="80">
特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用',例如:
<alt="say'hello'">
五、把所有<和&特殊符号用编码表示
任何小于号(<),不是标签的一部分,都必须被编码为& l t ;
任何大于号(>),不是标签的一部分,都必须被编码为& g t ;
任何与号(&),不是实体的一部分的,都必须被编码为& a m p;
注:以上字符之间无空格。
六、给所有属性赋一个值
XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:
<td nowrap> <input type="checkbox" name="shirt" value="medium" checked>
必须修改为:
<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium" checked="checked">
七、不要在注释内容中使“–”
“–”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的:
<!–这里是注释———–这里是注释–>
用等号或者空格替换内部的虚线。
<!–这里是注释============这里是注释–>
以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<img src="foo" alt="bar" />
<p class="foo">Hello world</p>
<img src="foo" alt="bar">
<p class="foo">Hello world
<IMG SRC="foo" ALT="bar">
<P CLASS="foo">Hello world</P>
<img src=foo alt=bar>
<p class=foo>Hello world</p>
就如这四组在HTML5中都是正确的,解析都是正常的,因为浏览器的解析是宽松的,或者说是“宽容”的,要向后兼容,但是,我们还是习惯于第一组的那个,因为HTML4或XHTML中一直都这样写,现在我们可以写下面的那几组,但是总会感觉别扭的,这就是所谓的“编程风格”吧!
当大家回答说向后兼容的话,让人感觉有种必须写的嫌疑了,倒不如说继承HTML4的编码风格、习惯!如果仅仅说是向后兼容的话,看到都是“权威”性的网站有的写有的没写就会有点担心和迷惑了!
<p class="foo">Hello world</p>
<img src="foo" alt="bar">
<p class="foo">Hello world
<IMG SRC="foo" ALT="bar">
<P CLASS="foo">Hello world</P>
<img src=foo alt=bar>
<p class=foo>Hello world</p>
就如这四组在HTML5中都是正确的,解析都是正常的,因为浏览器的解析是宽松的,或者说是“宽容”的,要向后兼容,但是,我们还是习惯于第一组的那个,因为HTML4或XHTML中一直都这样写,现在我们可以写下面的那几组,但是总会感觉别扭的,这就是所谓的“编程风格”吧!
当大家回答说向后兼容的话,让人感觉有种必须写的嫌疑了,倒不如说继承HTML4的编码风格、习惯!如果仅仅说是向后兼容的话,看到都是“权威”性的网站有的写有的没写就会有点担心和迷惑了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<meta charset=UTF-8 /> 这个是标准写法,符合W3C标准;
<meta charset=UTF-8>这种写法是错误的,虽然浏览器支持这种写法,但不符合标准;
建议养成标准写法的习惯,所有的标签都要关闭,说不定哪天浏览器升级后就不再支持这种老的写法了。
<meta charset=UTF-8>这种写法是错误的,虽然浏览器支持这种写法,但不符合标准;
建议养成标准写法的习惯,所有的标签都要关闭,说不定哪天浏览器升级后就不再支持这种老的写法了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯,对于HTML并不硬性规定一定需要/作为代表单标签元素结束,例如<img>,主要是为了以后兼容可能会需要使用/,并且语法其实应该是加上反斜杠的。
正确写法:
<meta charset="UTF-8" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询