HTML optimization tips

高洛峰
Release: 2017-02-27 10:39:31
Original
846 people have browsed it

How to improve the performance of Web pages, many developers start from many aspects, such as JavaScript, image optimization, server configuration, file compression or adjusting CSS.

It is clear that HTML has reached a bottleneck, even though it is an essential core language for developing Web interfaces. The load of HTML pages is also getting heavier and heavier. Most pages require an average of 40K of space. For example, some large websites contain thousands of HTML elements, and the page size will be larger.

How to effectively reduce the complexity of HTML code and the number of page elements. This article mainly solves this problem. It introduces how to write concise and clear HTML code from many aspects, which can make the page load faster. , and can run well on a variety of devices.

The following principles need to be followed during the design and development process:

  • Structural separation: use HTML to add structure, not style content;
    Keep it clean: for work Flow adds code validation tools; use tools or style wizards to maintain code structure and format
    Learn a new language: Get element structure and semantic markup.
    Ensure accessibility: Use ARIA attributes and Fallback attributes, etc.
    Test: To make the website run well on multiple devices, you can use emulators and performance tools.

The relationship between HTML, CSS and JavaScript

HTML is a markup language used to adjust the structure and content of the page. HTML cannot be used to modify style content, nor can you enter text content in the header tag, making the code lengthy and complex. Instead, it is more appropriate to use CSS to modify layout elements and appearance. The default appearance of HTML elements is defined by the browser's default style sheet. For example, in Chrome, the h1 tag element will be rendered into a 32px Times bold font.

Three general design rules:

  • Use HTML to construct the page structure, CSS to modify the page presentation, and JavaScript to implement the page function. CSS ZenGarden demonstrates behavioral separation very well.
    If it can be implemented with CSS or JavaScript, use less HTML code.
    Store CSS and JavaScript files separately from HTML. This can help with caching and debugging.

The document structure can also be optimized, as follows:

1. Use the HTML5 document type. The following is an empty file:

<!DOCTYPE html>  
<html>  
  
<head>  
 <title>Recipes: pesto</title>  
</head>  
  
<body>  
  
  <h1>Pesto</h1>  
  
  <p>Pesto is good!</p>  
  
</body>  
</html>
Copy after login

2. Quote the CSS file at the beginning of the document, as follows:

<head>  
  <title>My pesto recipe</title>  
  
  <link rel="stylesheet" href="/css/global.css">  
  <link rel="stylesheet" href="css/local.css">  
  
</head>
Copy after login

Using these two methods, the browser will prepare the CSS information before parsing the HTML code. This helps improve page loading performance.

Enter JavaScript code before the closing tag of the body at the bottom of the page. This will help improve the page loading speed, because the browser will load the page before parsing the JavaScript code. Using JavaScript will have a positive impact on page elements. .

<body>  
  
  ...   
  
  <script src="/js/global.js">  
  <script src="js/local.js">  
  
</body>
Copy after login

Using Defer and async attributes, script elements with async attributes are not guaranteed to be executed in order.

Handlers can be added in JavaScript code. Never add it to HTML inline code. For example, the following code can easily lead to errors and is difficult to maintain:

index.html:

<head>  
     
  ...   
  
  <script src="js/local.js">  
  
</head>  
  
<body onload="init()">  
  
  ...   
  
  <button onclick="handleFoo()">Foo</button>  
  
  ...   
  
</body>
Copy after login

The following writing method Better:

index.html:

<head>  
  
  ...   
  
</head>  
  
<body>  
  
  ...   
  
  <button id="foo">Foo</button>  
  
  ...   
  
  <script src="js/local.js">  
  
</body>
Copy after login

js/local.js:

init();   
var fooButton =   
    document.querySelector(&#39;#foo&#39;);   
fooButton.onclick = handleFoo();
Copy after login

Verification

One way to optimize web pages is for browsers to handle illegal HTML code. Legal HTML code is easy to debug, takes up less memory, consumes less resources, is easy to parse, renders and runs faster. Illegal HTML code makes it extremely difficult to implement responsive design.

When using templates, legal HTML code is extremely important. It often happens that templates run well alone but report various errors when integrated with other modules. Therefore, the quality of HTML code must be ensured. , you can take the following measures:

  • Add validation functionality to your workflow: Use validation plug-ins such as HTMLHint or SublineLinter to help you detect code errors.
    Use HTML5 document type
    Ensure that the hierarchical structure of HTML is easy to maintain and avoid nesting elements in a left-open state.
    Be sure to add the closing tag of each element.
    Delete unnecessary code; there is no need to add closing tags for self-closing elements; Boolean attributes do not need to be assigned a value, if they exist, it is True;

Code format

Format consistency makes HTML code easy to read, understand, optimize, and debug.

Semantic tags

Semantics refers to things related to meaning. HTML can see semantics from the content of the page: the naming of elements and attributes expresses the role and function of the content to a certain extent. HTML5 introduces new semantic elements such as

,
and
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template