打开和关闭代码差异

时间:2015-05-01 09:33:26

标签: html

Hy家伙,<li>Hello wolrd</li><li>Hello world之间存在差异。

两个标签都有相同的结果:

  
      
  • Hello world
  •   

我知道每个标签都应该有一个标签,但我错误地发现了这一点。谁能告诉我原因?

3 个答案:

答案 0 :(得分:4)

在HTML中,一些结束标记是可选的。 @IBAction func btnStopWatch(sender: UIButton) { if btnStopWatch.selected == true { btnStopWatch.setTitle("stop", forState: UIControlState.Normal) btnStopWatch.setImage(stopImage, forState: UIControlState.Normal) btnStopWatch.selected = false } else { btnStopWatch.setTitle("start", forState: UIControlState.Normal) btnStopWatch.setImage(startImage, forState: UIControlState.Normal) btnStopWatch.selected = true } } 就是其中之一。

来自the HTML5 syntax W3C recommendations

  

如果li元素是,则可以省略li元素的结束标记   紧接着是另一个li元素,或者如果没有更多   父元素中的内容。

答案 1 :(得分:2)

不,实际上没有,如果你遵守规范中描述的规则。

HTML规范HTML4HTML5提供了一种在不关闭标记的情况下编写<li>的方法,因为它可以从标记中逻辑派生。

规则如HTML规范中所指出的那样:

  

如果li元素后面紧跟另一个li元素,或者父元素中没有其他内容,则可以省略li元素的结束标记。

答案 2 :(得分:0)

在某些情况下,HTML将被允许有错误并且仍然可以成功运行(正如在这种情况下提到的其他人可能会省略它)。这并不意味着你应该这样做。还有你可以省略的doctype声明,你可以把标签放在身体之外,但这不是正确的方法。

出现这些错误似乎现在可以正常工作,但它也可能导致问题(并且每个浏览器可能会有所不同)。它还会影响您在Google上的网页排名。 使用https://validator.w3.org/确保您在网页上遇到的问题尽可能少。