在结束标记之后包含标记是否可以?

时间:2011-05-11 00:49:42

标签: html asp.net-mvc-3

closing the html tag is optional开始,是否可以在结束</html>代码后添加标记?

Phil Haack's RouteDebugger library存在一个例子。一些示例输出如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>Index</title>
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
    <script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
</head>

<body>

<h2>Index</h2>

</body>
</html>
<!-- Extra content after closing html tag! -->
<html>
<div id="haackroutedebugger" style="background-color: #fff;">
    <style>
        #haackroutedebugger, #haackroutedebugger td, #haackroutedebugger th {background-color: #fff; font-family: verdana, helvetica, san-serif; font-size: small;}
        #haackroutedebugger tr.header td, #haackroutedebugger tr.header th {background-color: #ffc;}
    </style>
    <hr style="width: 100%; border: solid 1px #000; margin:0; padding:0;" />
    <h1 style="margin: 0; padding: 4px; border-bottom: solid 1px #bbb; padding-left: 10px; font-size: 1.2em; background-color: #ffc;">Route Debugger</h1>
    <div id="main" style="margin-top:0; padding-top:0">
        <p style="font-size: .9em; padding-top:0">
            Type in a url in the address bar to see which defined routes match it. 
            A {*catchall} route is added to the list of routes automatically in 
            case none of your routes match.
        </p>
        <p style="font-size: .9em;">
            To generate URLs using routing, supply route values via the query string. example: <code>http://localhost:14230/?id=123</code>
        </p>
        <p><label style="font-weight: bold; font-size: 1.1em;">Matched Route</label>: {controller}/{action}/{id}</p>

        <div style="float: left;">
            <table border="1" cellpadding="3" cellspacing="0" width="300">
                <caption style="font-weight: bold;">Route Data</caption>
                <tr class="header"><th>Key</th><th>Value</th></tr>
                    <tr><td>controller</td><td>Home&nbsp;</td></tr> <tr><td>action</td><td>Index&nbsp;</td></tr>
            </table>
        </div>
        <div style="float: left; margin-left: 10px;">
            <table border="1" cellpadding="3" cellspacing="0" width="300">
                <caption style="font-weight: bold;">Data Tokens</caption>
                <tr class="header"><th>Key</th><th>Value</th></tr>

            </table>
        </div>
        <hr style="clear: both;" />
        <table border="1" cellpadding="3" cellspacing="0">
            <caption style="font-weight: bold;">All Routes</caption>
            <tr class="header">
                <th>Matches Current Request</th>
                <th>Url</th>
                <th>Defaults</th>
                <th>Constraints</th>
                <th>DataTokens</th>
            </tr>
            <tr><td><span style="color: #c00">False</span></td><td>{resource}.axd/{*pathInfo}</td><td>(null)</td><td>(empty)</td><td>(null)</td></tr><tr><td><span style="color: #0c0">True</span></td><td>{controller}/{action}/{id}</td><td>controller = Home, action = Index, id = UrlParameter.Optional</td><td>(empty)</td><td>(empty)</td></tr><tr><td><span style="color: #0c0">True</span></td><td>{*catchall}</td><td>(null)</td><td>(null)</td><td>(null)</td></tr>
        </table>
        <hr />
        <h3>Current Request Info</h3>
        <p>
            AppRelativeCurrentExecutionFilePath is the portion of the request that Routing acts on.
        </p>
        <p><strong>AppRelativeCurrentExecutionFilePath</strong>: ~/</p>
    </div>
</div>

我注意到他的附加标记以<html>标记开头。此标记的存在是否以某种方式验证了此内容的位置?

2 个答案:

答案 0 :(得分:9)

不,这不行,但浏览器对HTML很不宽容。

尝试http://validator.w3.org/查看文档是否有效HTML(不是)。

答案 1 :(得分:2)

格式正确的页面(正确排序,打开和关闭标签)加载速度更快,让最终用户更快乐。使用适当的HTML是最好的品味和良好的方式,最好是在可能的XHTML。做到这一点,你将赢得朋友并影响人们。