1

Richard Kiessigの超高速asp.netブックから、

ヘッドセクションには、ブラウザが画面にコンテンツを描画する原因となるタグを含めることはできません。セクション内のすべてのリソースをダウンロードするまで、ユーザーは注意を表示します。

-彼はこの声明から何を参照していますか?

<HEAD runat ="server">
        <title>WebForm1</title>
        <h1> Hi </h1>
    </HEAD>

ブラウザは「こんにちは」をレンダリングしています。

4

3 に答える 3

3

h1内部headは無効なhtmlです。それは許可されていません。しかし、ウェブブラウザのプロデューサーがすべての無効なhtmlドキュメントを拒否する場合、約90%(またはそれ以上)のウェブサイトがユーザーに表示されません。

そのため、あるブラウザプロデューサーが無効なサイトもレンダリングできるブラウザを作成し、すべてのユーザーがこのブラウザを使い始めました。したがって、正しいウェブブラウザのプロデューサーには他にチャンスがありませんでした。彼らはまた、無効なhtmlをレンダリングできるブラウザを構築しました。このため、使用されているすべてのWebブラウザーは、無効なhtmlをレンダリングできるブラウザーです。

しかし:

無効なhtmlをレンダリングする方法について定義された標準はありません。したがって、各プロデューサーは無効なドキュメントを表示する方法について独自のアイデアを持っています。したがって、無効なhtmlを作成すると、運が良かった可能性があり、開発とテストに使用した1つのブラウザーでドキュメントが正常に表示されます。しかし、あなたのウェブサイトのユーザーはあなたのブラウザを使うだけではありません。彼らは利用可能なすべてのブラウザを使用しており、HTMLコードが無効である場合、多くのユーザーが知らないブラウザを使用している可能性が非常に高く、このブラウザは必要なものを表示しませんが、ごみが表示されます。

結論:

  • 本当に優れたWebブラウザーの作成者は、ゴミをレンダリングできるブラウザーを作成する必要があります。
  • 本当に良いhtmlドキュメントのプロデューサーは有効なhtmlを調達しなければなりません。
于 2012-04-07T07:24:28.950 に答える
2

「ヘッドセクションには、ブラウザが画面にコンテンツを描画する原因となるタグを含めることはできません。ユーザーは、セクション内のすべてのリソースをダウンロードするまで、注意を表示します。」無視するのが最善です。それは単に混乱を引き起こし、ポイントを欠いています。その中の間違いを訂正しようとすると、時間がかかり、実際には何も起こりません。

無効なマークアップの扱いについて

<HEAD runat ="server">
        <title>WebForm1</title>
        <h1> Hi </h1>
    </HEAD>

簡単な答えは、ブラウザーには、要素の解析中に遭遇したときに、終了</head>タグと開始タグを暗示するパーサーがあるということです。これは、HTML仕様に完全に準拠しています。<body><h1>head

runat ="server"フラグメントでは、属性を除いて、クライアントにまったく配信されることが期待されていない(HTMLではなくASPです)唯一の無効なものは、偽の終了タグ</HEAD>です。head要素はすでに閉じられているため、再度閉じることはできません。

于 2012-04-07T10:26:09.197 に答える
1

ええ、<head></head>デフォルトでdisplay:none;プロパティを運ぶすべてのタグを含めることができることを確認してください。それらは<meta>とのような要素<title>です。しかし<h1>、画面上でレンダリングする必要があります、それはdisplay:inline;です。ただし、ほとんどの要素はそうdisplay:none;ではないため、セクションに配置する必要があります<body></body>

その時点では、w3cで検証されないため、Web標準に違反しています。ただし、最近のすべてのブラウザで問題なくレンダリングされるはずです。ほとんどの人は、Webページを作成するときに整理と品質を維持したいと言うでしょう。その一部は、コードが正しい構文であることを確認することです。

ETA:標準のHTML5マークアップ...

<!DOCTYPE html>
<html>
    <head>
        <title>My Title</title>
        <!--[if lt IE 9]>
            <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
    <body>
        <header>
        </header>

        <section>
        </section>

        <footer>
        </footer>
    </body>

</html>

そのltIE9コメントでは、それをサポートしていないIE8以下にHTML5サポートを追加します。;-)

于 2012-04-07T07:05:34.970 に答える