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
[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>
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">
3. Fill in the appropriate keywords and description
<meta name="description" content="不超过150个字符"><meta name="keywords" content="">
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>
【Resource introduction】
1. Ensure that favicon
is accessible
<link rel="shortcut icon" href="path/to/favicon.ico">
2 , There is no need to specify the type
attribute when introducing
CSS
and
3. When introducing CSS
, you must specify rel="stylesheet"
<link rel="stylesheet" href="page.css?1.1.11">
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>
[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
[Indentation]
Use 4 spaces instead of 1 Tab (can be set in most editors)
<ul><li>first</li><li>second</li></ul>
【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>
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>
[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
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><!-- /头部 -->
[Attribute]
1. All attributes and values are in lowercase letters
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='esl.js'></script><script src=esl.js></script>
【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
【图片】
1、禁止 img
的 src
取值为空,否则会导致部分浏览器重新加载一次当前页面
2、为图片添加 alt
属性,提高图片加载失败时的用户体验
3、避免为 img
添加不必要的 title
属性,多余的 title 影响看图体验,并且增加了页面尺寸
4、为图片添加 width
和 height
属性,以避免页面抖动
<img src="#" alt="#" width="#" height="#">
5、有下载需求的图片采用 img
标签实现,无下载需求的图片采用 CSS
背景图实现
产品 logo、用户头像、用户产生的图片等有潜在下载需求的图片,以 img 形式实现,能方便用户下载
无下载需求的图片,比如:icon、背景、代码使用的图片等,尽可能采用 css 背景图实现
【表单】
1、有文本标题的控件使用 label
标签将其与其标题相关联。最好将控件置于 label 内,以减少不必要的 id
<label><input type="checkbox" name="confirm" value="on"> 我已确认上述条款</label>
2、使用 button
元素时必须指明 type
属性值。因为button 元素的默认 type 为 submit,如果被置于 form 元素中,点击后将导致表单提交
<button type="submit">提交</button><button type="button">取消</button>
3、在针对移动设备开发的页面时,根据内容类型指定输入框的 type
属性,能获得友好的输入体验
<input type="date">
【多媒体】
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>
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!