Learning HTML related specifications

巴扎黑
Release: 2017-07-19 16:43:57
Original
1187 people have browsed it

Previous words

HTML is a hypertext markup language that describes the structure of web pages. HTML specifications can make HTML code styles consistent, making HTML easier to understand and maintain. This article will introduce the HTML specification in detail

Overall structure

[Page header]

1. The file should end with "" starts with the top grid of the first line, it is recommended to use "<!DOCTYPE html>"

<!DOCTYPE html>
Copy after login

 2. The encoding charset of the document must be declared, and it must be consistent with the encoding of the file itself , the meta specifying the character encoding must be the first direct child element of head. It is recommended to use UTF-8 encoding<meta charset="utf-8">

<meta charset="utf-8">
Copy after login

 3. Fill in the appropriate keywords and description

according to the page content and needs
<meta name="description" content="不超过150个字符"><meta name="keywords" content="">
Copy after login

4. The page title is an indispensable item. title must be used as a direct child element of head and followed by the charset statement. After that

<head><meta charset="UTF-8"><title>页面标题</title></head>
Copy after login

【Resource introduction】

1. Ensure that favicon is accessible

<link rel="shortcut icon" href="path/to/favicon.ico">
Copy after login

2 , There is no need to specify the type attribute when introducing CSS and

JavaScript

3. When introducing CSS, you must specify rel="stylesheet"

<link rel="stylesheet" href="page.css?1.1.11">
Copy after login

 4. Use link to introduce the css file and place it in the head; use script to introduce the js file and place it at the bottom of the body

5. For mobile environments or web applications designed only for modern browsers, if the URL protocol part referencing external resources is the same as the page, it is recommended to omit the protocol prefix. This is because using protocol-relative URL to introduce CSS will send two requests under IE7/8. Whether to use protocol-relative URL should fully consider the environment for which the page is intended

<script src="//s1.bdstatic.com/cache/static/jquery-1.10.2.min_f2fb5194.js?1.1.11"></script>
Copy after login

[Structural Optimization]

 1. Try to follow HTML standards and semantics , but not at the expense of practicality. Try to use the fewest tags and maintain the minimum complexity at all times

2. The structural order and visual order should be basically consistent, and the HTML structure should be written in the visual order from top to bottom and from left to right. Sometimes in order to facilitate search engine crawling, important content will be moved ahead of time in the order of the HTML structure

 3. Separate structure, performance, and behavior and avoid inlining

 4. Each block Level elements start on a new line, and each line is aligned using Tab indentation (child elements of head and body do not need to be indented). Delete redundant end-of-line spaces

5. For tables with relatively simple content, it is recommended to write tr in a single line

6. You can use blank lines to separate large modules so that the modules Clearer

Code format

[Indentation]

Use 4 spaces instead of 1 Tab (can be set in most editors)

<ul><li>first</li><li>second</li></ul>
Copy after login

【Naming】

1. Class must be all lowercase letters, separated by - between words

2. Class must represent the corresponding module or component Content or functions must not be named with style information

<!-- good --><div class="sidebar"></div><!-- bad --><div class="left"></div>
Copy after login

3. Avoid using the same name and id on the same page. Because the IE7-browser confuses the id and name attributes of elements, document.getElementById may obtain unexpected elements. Therefore, you need to be very careful when naming the id and name attributes of elements. Tags do not need to be self-closing

3. For closing tags that are allowed to be omitted in

HTML5

, omission of closing tags is not allowed

4.

HTML

The use of tags should follow the semantics of the tags and comply with tag nesting rules

Hello StyleGuide!

Hello StyleGuide!

<ul><li>first</li><li>second</li></ul>
  • first
  • second
Copy after login

[Comments] Use a writing method similar to tag closure, and have a unified format with HTML; Spaces at both ends of the comment copy, the same format as CSS comments

Start comment: (spaces at both ends of the copy)

End comment: (Add "/" symbol before the copy, similar to the closure of a label)

Only the beginning comment is allowed

<!-- 头部 --><div class="g-hd"><!-- LOGO --><h1 class="m-logo"><a href="#">LOGO</a></h1><!-- /LOGO --><!-- 导航 --><ul class="m-nav"><li><a href="#">NAV1</a></li><li><a href="#">NAV2</a></li><!-- 更多导航项 --></ul><!-- /导航 --></div><!-- /头部 -->
Copy after login

[Attribute]

 1. All attributes and values ​​are in lowercase letters

 2. Attribute values ​​must be surrounded by double quotes

 3. For Boolean type attributes, it is recommended not to add attribute values

 4. It is recommended that custom attributes be prefixed with

xxx-

, and it is recommended to use

data-

5. You can omit the type attribute of the style tag and script tag

<!-- good --><table cellspacing="0">...</table><!-- bad --><table cellSpacing="0">...</table><!-- good --><script src="esl.js?1.1.11"></script><!-- bad --><script src=&#39;esl.js&#39;></script><script src=esl.js></script>
Copy after login
【Attribute order】

HTML attributes should appear in a specific order to ensure readability

id
class
name
data-xxx
src, for, type, href
title, alt
aria-xxx, role
Copy after login

 

特殊元素

【图片】

  1、禁止 img 的 src 取值为空,否则会导致部分浏览器重新加载一次当前页面

  2、为图片添加 alt 属性,提高图片加载失败时的用户体验

  3、避免为 img 添加不必要的 title 属性,多余的 title 影响看图体验,并且增加了页面尺寸

  4、为图片添加 width 和 height 属性,以避免页面抖动

<img src="#" alt="#" width="#" height="#">
Copy after login

  5、有下载需求的图片采用 img 标签实现,无下载需求的图片采用 CSS 背景图实现

  产品 logo、用户头像、用户产生的图片等有潜在下载需求的图片,以 img 形式实现,能方便用户下载

  无下载需求的图片,比如:icon、背景、代码使用的图片等,尽可能采用 css 背景图实现

【表单】

  1、有文本标题的控件使用 label 标签将其与其标题相关联。最好将控件置于 label 内,以减少不必要的 id

<label><input type="checkbox" name="confirm" value="on"> 我已确认上述条款</label>
Copy after login

  2、使用 button 元素时必须指明 type 属性值。因为button 元素的默认 type 为 submit,如果被置于 form 元素中,点击后将导致表单提交

<button type="submit">提交</button><button type="button">取消</button>
Copy after login

  3、在针对移动设备开发的页面时,根据内容类型指定输入框的 type 属性,能获得友好的输入体验

<input type="date">
Copy after login

【多媒体】

  1、在支持 HTML5 的浏览器中优先使用 audio 和 video 标签来定义音视频元素,并使用退化到插件的方式来对多浏览器进行支持

<audio controls><source src="audio.mp3" type="audio/mpeg"><source src="audio.ogg" type="audio/ogg"><object width="100" height="50" data="audio.mp3"><embed width="100" height="50" src="audio.swf"></object></audio><video width="100" height="50" controls><source src="video.mp4" type="video/mp4"><source src="video.ogg" type="video/ogg"><object width="100" height="50" data="video.mp4"><embed width="100" height="50" src="video.swf"></object></video>
Copy after login

  2、只在必要的时候开启音视频的自动播放

 

The above is the detailed content of Learning HTML related specifications. For more information, please follow other related articles on the PHP Chinese website!

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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!