<link>
を<head/>
タグ外のcssファイルに、たとえばフッター側に配置しても問題ありませんか?
これの悪い結果と良い結果はどちらですか?
私はこれを尋ねます、実際には私は何もスタイルを設定していませんが私のcss3アニメーションだけを私のウェブサイトに持ってくるCSSファイルを持っているので、私はパフォーマンス上の理由でHTMLの最後にそれを置きたいです...
ありがとう
スタイルシートは<head>
ブラウザーがHTMLのスタイルを設定し、HTMLをレンダリングできるようにします。ドキュメントの下部にスタイル情報を配置すると、ブラウザはドキュメント全体を再度スタイル変更してレンダリングする必要があります。
これは、1つ目は時間がかかり、2つ目は見苦しいように見えます。
スクリプトはロードが完了するまでロードをブロックするため、これは含まれているスクリプトとは異なります。そのため、プロセスのできるだけ遅くにロードします。
W3仕様によると、<link>
タグは<head>
セクション:
HTML 4.01の場合:http://www.w3.org/TR/html401/struct/links.html#edef-LINK
HTML5の場合:http://www.w3.org/TR/html5/document-metadata.html#the-link-element
2013年に戻って、HTMLドキュメントのlink
内にbody
タグを配置すると、HTMLに基づくルールで validate.w3.org を使用して検証されません。 4.01。
(HTML 4.01とHTML 5.0の検証を https://validator.n で試すことができます)
最初に読んだとき、HTML 5.0仕様ドキュメントは、link
がドキュメントのhead
要素にのみ出現するべきであることを示唆しているようです。ただし、HTML 5.0バリデーターを使用して検証すると、フローコンテンツにlink
が含まれていても、ドキュメントは問題なく表示されます。
この不一致の最良の説明は次のとおりです。
link
エントリ( MDNリンクエントリ) のMDNドキュメントを読むと、link
要素にitemprop
属性がある場合、次に、link
をフローおよびフレージングコンテンツに、つまりbody
に表示できます。
これが、itemprop
属性が存在しない場合でもHTML 5.0バリデーターが警告を発行しない理由である可能性があります。
itemprop
はmicrodata仕様の一部であり、比較的新しい( HTML Microdataについて読む) であり、読む価値があります。
現時点では、link
内のスタイルシートにbody
を追加することができますが、その利点は明らかではありません。
これは古い議論ですが、Google Pagespeed Insightsが実際に現在(2017)に推奨していることは、ここでは注目に値すると思います スクロールせずに大きなCSSファイルの読み込みを延期する 読み込みがブロックされないようにしますhtmlの。
はい、body要素内にlink要素を配置することは、HTML5仕様では問題ありません。それが悪いアイデアか良いアイデアかは、リンクの内容によって異なります。サイトの最初のビューをレンダリングすることが重要でない場合は、できるだけ遅くロードすることをお勧めします。
WHATWG HTML標準では<link>
かなり多くの指定されたケース の本文で。
配置の「妥当性」は<link>
の前に </body>
、最近、ギャラリーでいくつかの大きな画像をプリロードするためにそれを使用しました:
<link rel="preload" href="images/big/01.jpg" as="image">
そのため、ユーザーがサムネイルをクリックしても、画像はすでにブラウザのキャッシュに読み込まれているため、通常はサーバーの応答を待つ必要はありませんでした。
ソフトウェア開発のすべてにおいて、状況は変化します。現在は、本文のCSSが適切であると見なされています。
<head>
</head>
<body>
<!-- HTTP/2 Push this resource, or inline it, whichever's faster -->
<link rel="stylesheet" href="/site-header.css">
<header>…</header>
<link rel="stylesheet" href="/article.css">
<main>…</main>
<link rel="stylesheet" href="/comment.css">
<section class="comments">…</section>
<link rel="stylesheet" href="/about-me.css">
<section class="about-me">…</section>
<link rel="stylesheet" href="/site-footer.css">
<footer>…</footer>
</body>
<!DOCTYPE html>
の前に<link>
タグ。経験上、一部のページが誤動作する可能性があります。