html
命名规范
- class 应以功能或内容命名,不以表现形式命名;
- class 与 id 单词字母小写,多个单词组成时,采用中划线-分隔;
- 使用唯一的 id 作为 Javascript hook, 同时避免创建无样式信息的 class;
DOCTYPE 声明
HTML 文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明:
<!DOCTYPE html>
复制代码
meta 标签
- 统一使用 “UTF-8” 编码
<meta charset="utf-8">
复制代码
- SEO 优化
<!-- 页面关键词 -->
<meta name ="keywords" content =""/>
<!-- 页面描述 -->
<meta name ="description" content ="">
<!-- 网页作者 -->
<meta name ="author" content ="">
复制代码
- 优先使用 IE 最新版本和 Chrome
<meta http-equiv ="X-UA-Compatible" content ="IE = edge,chrome = 1">
复制代码
- 为移动设备添加视口
<!-- device-width 是指这个设备最理想的 viewport 宽度 -->
<!-- initial-scale=1.0 是指初始化的时候缩放大小是1,也就是不缩放 -->
<!-- user-scalable=0 是指禁止用户进行缩放 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
复制代码
- 禁止自动识别页面中有可能是电话格式的数字
<meta name="format-detection" content="telephone=no">
复制代码
团队约定:
pc 端:
<meta charset="utf-8">
<meta name="keywords" content="your keywords">
<meta name="description" content="your description">
<meta name="author" content="author,email address">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
复制代码
移动端:
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
语义化
- 没有 CSS 的 HTML 是一个语义系统而不是 UI 系统
- 通常情况下,每个标签都是有语义的
- 语义化的 HTML 结构,有助于机器(搜索引擎)理解,另一方面多人协作时,能迅速了解开发者意图
- 建议页面中多使用语义化标签,而不是整个页面以 div 构成
常见标签语义:
| 标签 | 语义 |
|---|---|
<p> | 段落 |
<hn> | 标题(h1~h6) |
<ul> | 无序列表 |
<ol> | 有序列表 |
<nav> | 标记导航,仅对文档中重要的链接群使用 |
<main> | 页面主要内容,一个页面只能使用一次。如果是 web 应用,则包围其主要功能 |
<article> | 定义外部的内容,其中的内容独立于文档的其余部分 |
<section> | 定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。 |
<aside> | 定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表 |
<header> | 页眉通常包括网站标志、主导航、全站链接以及搜索框 |
<footer> | 页脚,只有当父级是 body 时,才是整个页面的页脚 |
<figure> | 规定独立的流内容(图像、图表、照片、代码等等)(默认有 40px 左右 margin) |