同一行上的HTML标记对

时间:2018-12-29 21:53:35

标签: html

HTML标记的开始或结束标记需要在同一行吗?

也就是说,为了让HTML能够识别它,每行是否都必须在其上具有“ <”和“>”对?

例如,考虑以下代码,

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<div class="box">
  <p class="item">A</p>
  <p class="item">B</p>
  <p class="item">C</p>
</div>

</body>
</html>

可以将其编写和操作为

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<div cla
        ss="box">
  <p class="it
      em">A</p>
  <p class="item">B</p>
  <p class="item">C</p>
</div>

</body>
</html>

请注意,每行上都没有“ <”>”对。

3 个答案:

答案 0 :(得分:2)

简单的逻辑:如果标记名中可以包含任何关键字并且该关键字即将结束(在<tag_name and >之间),则可以在此位置打断单词。这意味着,您可以编写如下内容:

<div 
> 
    something
</div>

但不是:

<
div
>
    something
<
/ div
>

同时,打开和关闭标签之间可以有任何空格,制表符和换行符

答案 1 :(得分:2)

您不能将元素/属性名称分开,但是其他都非常灵活。但是,如果您不遵守W3C标准,则可能会因浏览器而看到不同的结果。不过,这些天大多数浏览器都相当宽容。

开始标签:

  • 开始标签的第一个字符必须是(<)。
  • 开始标记的后几个字符必须是元素的标记名称。
  • 如果下一步要有任何属性,则必须首先有一个或多个空格字符。
  • 然后,开始标签可以具有许多属性,其语法如下所述。属性必须彼此隔开一个或多个空格字符。
  • 在属性之后,或者在标签名称之后(如果没有属性),可能存在一个或多个空格字符。 (某些属性必须后面跟一个空格。请参阅下面的“属性”部分。)
  • 然后,如果该元素是void元素之一,或者该元素是外来元素,则可能会有一个(/)。此字符对void元素无效,但对异物则将start标签标记为自动关闭。
  • 最后,开始标签必须以(>)结束。

结束标签:

  • 结束标签的第一个字符必须是(<)。
  • 结束标签的第二个字符必须是(/)。
  • 结束标签的后几个字符必须是元素的标签名称。
  • 标签名称后,可能有一个或多个空格字符。
  • 最后,结束标签必须用(>)结束。

更多有关W3标准的信息: https://dev.w3.org/html5/spec-LC/syntax.html#start-tags

答案 2 :(得分:1)

标签可以跨越多行。例如:

TextBox1.Text = "old text"
Dim ctrlElText as Object = TextBox1.Text
ctrlElText = "new text"
Debug.print(TextBox1.Text)
'prints "old text"

但是,如示例中所示拆分属性将不起作用(Nathan Champion在评论中进行了解释)。