前端规范之HTML 规范

栏目: Html · 发布时间: 4年前

内容简介:优秀的项目源码,即使是多人开发,看代码也如出一人之手。统一的编码规范,可使代码更易于阅读,易于理解,易于维护统一两个空格缩进HTML 文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明:
前端规范之HTML 规范

摘要

优秀的项目源码,即使是多人开发,看代码也如出一人之手。统一的编码规范,可使代码更易于阅读,易于理解,易于维护

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">
复制代码

标签

html 标签分为以下几类:

  • 自闭合标签(self-closing),无需闭合。例如:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr 等 )
  • 闭合标签(closing tag),需闭合 。例如:textarea、title、h、div、span 等

团队约定:

  • 所有具有开始标签和结束标签的元素都必须要写上起止标签,某些允许省略开始标签或和束标签的元素亦都要写上
  • 自闭合标签不要加上结束标签
  • 自定义标签的名字必须包含一个破折号(-), <x-tags><my-element><my-awesome-app> 都是正确的名字,而 <tabs><foo_bar> 是不正确的。这样的限制使得 HTML 解析器可以分辨那些是标准元素,哪些是自定义元素
  • 自定义标签必须写上开始标签和闭合标签
  • 尽量减少标签数量

元素属性

  • 元素属性值使用双引号语法

推荐:

<input type="text">
复制代码

不推荐:

<input type=text>
<input type='text'>
复制代码

代码嵌套

  • 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素
  • 标题和段落中不能包含块,如:h1、h2、h3、h4、h5、h6、p、dt
  • 块与内联不能并列,块级元素与块级元素并列、内嵌元素与内嵌元素并列
  • 有些标签是固定的嵌套规则,比如 ul 包含 li、ol 包含 li、dl 包含 dt 和 dd 等等。

灵活使用伪类

不要让非内容信息污染了你的 HTML,打乱了 HTML 结构。可以使用:before、:after 等伪类元素

推荐:

HTML 代码

<!-- That is clean markup! -->
<span class="text-box">
  See the square next to me?
</span>

复制代码

CSS 代码:

/* We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content */
.text-box:before {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: red;
}
复制代码

不推荐:

HTML 代码:

<!-- We should not introduce an additional element just to solve a design problem  -->
<span class="text-box">
  <span class="square"></span>
  See the square next to me?
</span>
复制代码

CSS 代码:

.text-box > .square {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: red;
}
复制代码

特殊符号必须使用转义符

符号 描述 转义符
空格 &nbsp;
< 小于 &lt;
> 大于 &gt;
& &amp;
" 引号 &quot;

纯数字输入框

使用 type="tel" 而不是 type="number"

<input type="tel">
复制代码

类型属性

不需要为 CSS、JS 指定类型属性,HTML5 中默认已包含。

推荐:

<link rel="stylesheet" href="" >
<script src=""></script>
复制代码

不推荐:

<link rel="stylesheet" type="text/css" href="" >
<script type="text/javascript" src="" ></script>
复制代码

注释规范

单行注释

  • 一般用于简单的描述,如某些状态描述、属性描述等
  • 注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行

推荐:

<!-- Comment Text -->
<div>...</div>
复制代码

不推荐:

<div>...</div><!-- Comment Text -->

<div><!-- Comment Text -->
    ...
</div>
复制代码

模块注释

<!-- S Comment Text -->
<!-- E Comment Text -->
<!-- /Comment Text -->

推荐:

<!-- S Comment Text A -->
<div class="mod_a">

    <div class="mod_b">
        ...
    </div>
    <!-- /mod_b -->

    <div class="mod_c">
    	...
    </div>
    <!-- /mod_c -->

</div>
<!-- E Comment Text A -->

<!-- S Comment Text D -->
<div class="mod_d">
    ...
</div>
<!-- E Comment Text D -->
复制代码

语义化

  • 没有 CSS 的 HTML 是一个语义系统而不是 UI 系统
  • 通常情况下,每个标签都是有语义的
  • 语义化的 HTML 结构,有助于机器(搜索引擎)理解,另一方面多人协作时,能迅速了解开发者意图
  • 建议页面中多使用语义化标签,而不是整个页面以 div 构成

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Docker从入门到实战

Docker从入门到实战

黄靖钧 / 机械工业出版社 / 2017-6 / 69.00元

本书从Docker的相关概念与基础知识讲起,结合实际应用,通过不同开发环境的实战例子,详细介绍了Docker的基础知识与进阶实战的相关内容,以引领读者快速入门并提高。 本书共19章,分3篇。第1篇容器技术与Docker概念,涵盖的内容有容器技术、Docker简介、安装Docker等。第2篇Docker基础知识,涵盖的内容有Docker基础、Docker镜像、Dockerfile文件、Dock......一起来看看 《Docker从入门到实战》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器