Câu hỏi phỏng vấn HTML
Câu hỏi

Why is it generally a good idea to position CSS s betw...

Câu trả lời

It is generally recommended to position CSS links in the <head> section of an HTML document and JavaScript (<script>) tags just before the closing </body> tag for several performance-related reasons:

CSS in the <head>

  1. Early Rendering: Placing CSS in the <head> allows the browser to style the HTML content as it is being loaded. This ensures that the page is rendered with the intended styles from the very beginning, providing a better user experience by preventing unstyled content from appearing (also known as "Flash of Unstyled Content" or FOUC)[1][2][14].
  2. Parallel Loading: Modern browsers can download multiple resources simultaneously. Having CSS in the <head> allows the browser to fetch and apply styles concurrently as the rest of the page loads, optimizing the rendering process[1][2].

JavaScript before </body>

  1. Non-blocking Loading: JavaScript files can block the rendering of the page because the browser must parse and execute the script before it can continue rendering. By placing <script> tags just before the </body> tag, the HTML and CSS will load first, thus the page becomes visible and interactive more quickly[1][2][5].
  2. DOM Availability: Scripts often manipulate the HTML DOM. Placing them at the bottom ensures that the entire DOM is loaded before the scripts execute, reducing the risk of errors from trying to access elements that have not yet been loaded[1][5].

Exceptions

However, there are exceptions to these general practices:

  • Critical JavaScript: If JavaScript is essential for rendering the initial view of the page (e.g., modern web applications that render UI components with JavaScript), it should be loaded in the <head> with the async or defer attributes. The async attribute allows the script to be executed as soon as it is downloaded, without blocking the HTML parsing, while defer delays script execution until after the...
expert

expert

Gợi ý câu hỏi phỏng vấn

middle

What is WebSQL?

expert

What are Web Components?

middle

How do you serve a page with content in multiple languages?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào