HTML5: Where is the spec for which end tags are forbidden?

匿名 (未验证) 提交于 2019-12-03 08:54:24

问题:

In HTML 4.01 certain end tags are forbidden, that means it in not valid markup to have them, e.g.:

Invalid                     Valid ===================         ================= <BR/>                       <BR> <BR></BR>        <IMG src="..."/>            <IMG src="..."> <IMG ...></IMG>  <INPUT ... />               <INPUT ...> <INPUT ...></INPUT>

In the HTML 4.01 specification the indication of an end tag being optional or forbidden is nicely summarized in the index of elements:

Name        Start Tag       End Tag AREA                        F BASE                        F BASEFONT                    F BODY        O               O BR                          F COL                         F COLGROUP                    O DD                          O DT                          O FRAME                       F HEAD        O               O HR                          F HTML        O               O IMG                         F INPUT                       F ISINDEX                     F LI                          O LINK                        F META                        F OPTION                      O P                           O PARAM                       F TBODY       O               O TD                          O TFOOT                       O TH                          O THEAD                       O TR                          O

Where is the HTML 5 equivalent of indicating which end tags are:

  • required
  • optional (implicit)
  • forbidden

回答1:

When and how optional end tags should behave, in HTML5 spec:

http://www.w3.org/TR/html5/syntax.html#void-elements

8.1.2 Elements

Void elements only have a start tag; end tags must not be specified for void elements.

Void Elements

  • area
  • base
  • br
  • col
  • command
  • embed
  • hr
  • img
  • input
  • keygen
  • link
  • meta
  • param
  • source
  • track
  • wbr

A more concise form:

Element Type    Start Tag  End Tag =============== =========  ========= Normal          -          O (some)    html         O*         O*    head         O*         O*    body         -          O*    li           -          O*    dt           -          O*    dd           -          O*    p            -          O*    rt           -          O*           rp           -          O*    optgroup     -          O*    option       -          O*    colgroup     O*         O*    thead        -          O*    tbody        -          O*    tfoot        -          O*    tr           -          O*    td           -          O*    th           -          O*    otherwise    -          - Raw text        -          -    script    style RCDATA          -          -    textarea    title Void            -          F    area    base    br    col    command    embed    hr    img    input    keygen           link    meta    param    source    track    wbr Foreign         -          -              MathML    SVG


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!