特定の設定で CSS がどのように評価されるかを理解しようとしています。
<head>
タグに次のコンテンツがあるとします。
<html><head>
...
<link href="reset.css" type="text/css" rel="stylesheet">
<link href="style.css" type="text/css" rel="stylesheet">
<link href="autocomplete.css" type="text/css" rel="stylesheet">
</head>
<body>
... html ...
<script type="text/javascript" src="/js/script.js"></script>
</body></html>
ここで、スクロールせずに見えるコンテンツまたは HTML の要素に直接影響を与えるいくつかのルールを想定reset.css
して含めましょう。style.css
ただし、autocomplete.css
後で一部の JavaScript によって使用されるクラスのみが含まれます。
reset.css
ここで、ブラウザーが既にダウンロードされてstyle.css
いautocomplete.css
て、まだ保留中であるとさらに仮定しましょう。ページの最後にブロッキング スクリプト タグが表示された場合、ブラウザはどうなるでしょうか。明らかに、スクリプト タグまでの HTML をレンダリングできますが、スクリプトの実行は、不足しているためにブロックされていautocomplete.css
ますか?
script タグは同期ではないことに注意してください。
私は読んだ: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp
そして、CSSOM が存在するまで JavaScript の実行がブロックされると書かれています。
今: 1. ページautocomplete.css
がまだ到着していなくてもレンダリングを開始しますか? 2. script.js
JavaScript の実行はブロックされるまでブロックされautocomplete.css
ますか?
レンダリングとスクリプトの実行という 2 つの異なることについて言及していることに注意してください。