HTML(5) code specifications



HTML coding conventions

Many web developers know little about HTML coding conventions.

Between 2000 and 2010, many web developers converted from HTML to XHTML.

Using XHTML developers have gradually developed better HTML writing standards.

For HTML5, we should form better code standards. The following provides several standard suggestions.


Use the correct document type

The document type declaration is located on the first line of the HTML document:

<!DOCTYPE html>

If you want to use lowercase like other tags, you can use the following code:

<!doctype html>

##Use lowercase elements Name

HTML5 element names can use uppercase and lowercase letters.

Recommended to use lowercase letters:

  • Mixing upper and lower case style is very bad.

  • Developers usually use lowercase (similar to XHTML).

  • The lowercase style looks more refreshing.

  • Lowercase letters are easy to write.

##Not recommended:

<
SECTION> <
p>This is a paragraph. </p><
/SECTION>
Very bad:

<
Section> <
p>This is a paragraph. </p><
/SECTION>
Recommended:

<
section> <
p>This is a paragraph. </p><
/section>

Close all HTML elements

In HTML5, you do not have to close all elements (such as <p> elements), but we recommend adding a closing tag to each element.

Not recommended:

##<section>
<p>This is a paragraph.
<p>This is a paragraph.
</section>
Recommended:

<section>
<p>This is a paragraph . </p>
<p> This is a paragraph. </p>
</section>

Close empty HTML elements

In HTML5, empty HTML elements do not have to be closed:

We can write like this:

<meta charset="utf-8">
can also be written like this:

<meta charset="utf-8" />

The slash (/) is required in XHTML and XML.

It's good to use this style if you expect XML software to use your page.


Use lowercase attribute names

HTML5 attribute names allow the use of uppercase and lowercase letters.

We recommend using lowercase letters for attribute names:

  • It is a very bad habit to use uppercase letters at the same time.

  • Developers usually use lowercase (similar to XHTML).

  • The lowercase style looks more refreshing.

  • Lowercase letters are easy to write.

Not recommended:

<div CLASS= "menu">

Recommended:

<div class="menu">

##Attribute value

HTML5 attribute value can be omitted quotation marks.

We recommend using quotation marks for attribute values:

  • If the attribute value contains spaces, you need to use quotation marks.

  • Mixing styles is not recommended, it is recommended to unify the style.

  • Use quotation marks for attribute values ​​to make them easier to read.

The following instance attribute value contains spaces and does not use quotation marks, so it will not work:

<table class=table striped>
The following uses double quotes, which is correct:

<table class="table striped">
##Picture attributes

Pictures are usually used

alt

attributes. When the picture cannot be displayed, it can replace the picture display.

<
img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

Define the size of the image and reserve designated space when loading to reduce flickering.

<img src="html5.gif" alt="HTML5" style= "width:128px;height:128px">

##Spaces and equal signs

Spaces can be used before and after the equal sign.

<link rel = "stylesheet" href = "styles.css">
But we recommend using less spaces:

<link rel="stylesheet" href="styles.css">

Avoid a line of code that is too long

When using the HTML editor, it is inconvenient to scroll the code left and right.

Try to keep each line of code to less than 80 characters.


Blank lines and indentation

Don’t add blank lines for no reason.

Add blank lines to each logical function block to make it easier to read.

Use two spaces for indentation, and TAB is not recommended.

Do not use unnecessary blank lines or indentation between shorter codes.

Unnecessary blank lines and indentation:

<body>

<h1>php中文网</h1>

<h2>HTML</h2>

<p>
php Chinese website, you can learn not only technology, but also It's a dream.
php Chinese website, what you learn is not only technology, but also dreams.
php Chinese website, what you learn is not only technology, but also a dream,
php Chinese website, what you learn is not only technology, but also dreams.
</p>

##</body>
Recommended:

<body>

<h1>php中文网</h1>

<h2></h2>
<p>php Chinese website, what you learn is not only technology, but also dreams. php中文网, what you learn is not only technology, but also dreams.
php中文网, what you learn is not only technology, but also dreams.
php中文网, what you learn is not only technology, but also dreams.
</p>
##<
/body> ;

表格实例:

<table>
  <tr>
    <th>Name</th>
    <th>Description</th>
        </tr>
  <tr>
    <td>A</td>
    <td>Description of A</td>
        </tr>
  <tr>
    <td>B</td>
    <td>Description of B</td>
  </tr>
</table>

List example:

<ol>
<li>London</li>
< li>Paris</li>
<li>Tokyo</li>
</ol>

##Omit <html> and <body>?

In standard HTML5, the <html> and <body> tags can be omitted.

The following HTML5 document is correct:

Example

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>

<h1>这是一个标题</h1>
<p>这是一个段落。</p>

Run Example»Click" Run instance" button to view the online instance

It is not recommended to omit the <html> and <body> tags. The

<html> element is the root element of the document and is used to describe the language of the page:

<!DOCTYPE html>
<html lang="zh">
Declaration language is for the convenience of screen readers and search engines.

Omitting <html> or <body> will crash in DOM and XML software.

Omitting <body> will cause an error in older browsers (IE9).


Omit <head>?

In standard HTML5, the <head> tag can be omitted.

By default, the browser will add the content before <body> to a default <head> on the elements.

Instance

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<body>

<p id="Demo">段落 1。</p>
<p id="demo">段落 2。</p>
<script>
// 只有段落 2 会被替换
document.getElementById("demo").innerHTML = "HELLO。";
</script>

</body>
</html>

Run Instance»Click the "Run Instance" button to view the online instance

Omitting the head tag is not recommended now.

Metadata

The <title> element is required in HTML5. The title name describes the theme of the page:

< title>php中文网</title>

Title and language allow search engines to quickly understand the topic of your page:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>php中文网</title>
</head>

HTML Comments

Comments can be written in <!-- and --> in:

<!-- This is a comment -->

is relatively long Comments can be written in separate lines between <!-- and -->:

<!--
This is a longer comment. This is A longer comment. This is a longer review.
This is A longer comment This is a longer comment. This is A longer comment.
-->

The first character of long comments is indented by two spaces to make it easier to read.


Style sheet

The style sheet uses a concise syntax format (the type attribute is not required):

<link rel="stylesheet" href="styles.css">

Short rules can be written in one line:

p.into {font-family: Verdana; font-size: 16em;}

Long rules can be written in multiple lines:

body {
background-color: lightgrey;
font-family: "Arial Black", Helvetica, sans-serif;
font-size: 16em;
color: black;
}
  • Put the left curly brace on the same line as the selector

  • The left curly brace is on the same line as the selector. Add spaces between

  • ##Use two spaces to indent

  • ##Add spaces between colons and attribute values.
  • #Use a space after the comma and the symbol.
  • ##Use the symbol at the end of each attribute and value.

    Use quotation marks only if the attribute value contains spaces.
  • ##The closing curly brace is placed on a new line.

  • ##Maximum 80 per line. characters.

  • A common rule is to add spaces after commas and semicolons.


Loading JavaScript in HTML

Use concise syntax to load external script files (the type attribute is not required):

##< ;script src="myscript.js">

Accessing HTML elements using JavaScript

A poorly formatted HTML may cause JavaScript execution errors.

The following two JavaScript statements will output different results:

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p id="Demo">段落 1。</p>
<p id="demo">段落 2。</p>
<script>
// 只有段落 2 会被替换
document.getElementById("demo").innerHTML = "HELLO.";
</script>

</body>
</html>

Run Example»Click the "Run Example" button to view the online example

Try to use the same naming rules for JavaScript in HTML.

Access JavaScript code specifications.


Use lowercase file names

Most web servers (Apache, Unix) are case-sensitive: london.jpg is not accessible through London.jpg.

Other web servers (Microsoft, IIS) are not case sensitive: london.jpg can be accessed via London.jpg or london.jpg.

You must maintain a consistent style. We recommend using lowercase file names uniformly.


File extension

HTML file suffix can be

.html (or r .htm).

CSS file suffix is ​​

.css.

JavaScript file suffix is ​​

.js.


The difference between .htm and .html

There is essentially no difference between the extension files of .htm and .html. Both browsers and web servers treat them as HTML files.

The difference is:

.htm was used in early DOS systems, and the system now only has three characters.

There are no special restrictions on the suffix in Unix systems, generally .html is used.

Technical difference

If a URL does not specify a file name (such as http://www.php.cn/css/), The server will return the default file name. Usually the default file name is index.html, index.htm, default.html, and default.htm.

If the server is configured with only "index.html" as the default file, you must name the file "index.html", not "index.htm".

However, usually the server can set multiple default files, can you set the default file as needed.

Anyway, the complete suffix of HTML is ".html".


Note