代码之家  ›  专栏  ›  技术社区  ›  Behrang Saeedzadeh

自动关闭输入标记在HTML4中有效吗?

  •  17
  • Behrang Saeedzadeh  · 技术社区  · 14 年前

    根据 http://www.w3.org/TR/html401/interact/forms.html#h-17.4 ,输入元素应以单个 > 而不是一个 /> . 尽管大多数浏览器可以处理以 ,根据HTML语法规则,这样的输入元素有效吗?换句话说,这些元素 <input ... /> <br /> 有效期 4?

    3 回复  |  直到 14 年前
        1
  •  14
  •   Quentin    14 年前

    有效的 在里面 一些 地点 但是

    在HTML 4中 <foo /> (其中 元素的名称定义为 )意思与 <foo>> 意思和 <foo>&gt; (虽然几乎没有浏览器支持正确的语法,Emacs-W3曾经支持,但是为了正确呈现所谓的与HTML兼容的xhtml1.0文档,破坏了与标准的兼容性)。

    &gt; 比如任何你被允许 <img> 但在其他地方(如 <hr> 这是 <body>

    与可选开始和结束标记规则的交互增加了更多的复杂性。在过渡文件中,这是有效的:

    <link …/>
    <h1>Hello, world</h1>
    

    意味着:

    <link>
    </head>
    <body>
    &gt;
    <h1>Hello, world</h1>
    

    这种速记语法可能很有用,或者至少可以节省时间,例如:

    <title/The quick brown fox/
    

    而不是更冗长的:

    <title>The quick brown fox</title>
    

    但是 the syntax has never been well supported 说明书上说应该避免。

        2
  •  2
  •   Behrang Saeedzadeh    14 年前

    实际上解决了。。。根据W3C HTML 4 validator,最好不要在HTML 4中使用这种编写元素名称的方式:

    NET-enabling start-tag requires SHORTTAG YES
    <br />
    The sequence <FOO /> can be interpreted in at least two different ways, 
    depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates 
    the tag <FOO (with an implied '>'). However, since many browsers don't interpret it 
    this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid 
    it completely in pure HTML documents and reserve its use solely for those written in XHTML.
    
        3
  •  -1
  •   Sjoerd    14 年前

    HTML Compatibility Guidelines

    在尾随前包含空格 / > <br /> , <hr /> <img src="karen.jpg" alt="Karen" /> . 另外,对空元素使用最小化标记语法,例如。 < ,作为替代语法 <br></br> XML所允许的在许多现有的用户代理中给出了不确定的结果。