博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学好WEB前端之HTML 规范
阅读量:2430 次
发布时间:2019-05-10

本文共 3023 字,大约阅读时间需要 10 分钟。

1240

摘要

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

HTML 规范

缩进

统一两个空格缩进

命名规范

  • class 应以功能或内容命名,不以表现形式命名;
  • class 与 id 单词字母小写,多个单词组成时,采用中划线-分隔;
  • 使用唯一的 id 作为 Javascript hook, 同时避免创建无样式信息的 class;

DOCTYPE 声明

HTML 文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明:

 

meta 标签

  • 统一使用 “UTF-8” 编码
  • SEO 优化
  • 优先使用 IE 最新版本和 Chrome
  • 为移动设备添加视口
  • 禁止自动识别页面中有可能是电话格式的数字

团队约定:

pc 端:

移动端:

标签

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 解析器可以分辨那些是标准元素,哪些是自定义元素
  • 自定义标签必须写上开始标签和闭合标签
  • 尽量减少标签数量

元素属性

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

推荐:web前端开发直播教程Q-q-u-n: 767273102 ,内有免费开发工具,零基础,进阶视频教程,希望新手少走弯路

复制代码

不推荐:

代码嵌套

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

灵活使用伪类

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

推荐:

HTML 代码

  See the square next to me?

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 代码:

  
  See the square next to me?

CSS 代码:

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

特殊符号必须使用转义符

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

纯数字输入框

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

类型属性

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

推荐:

不推荐:

注释规范

单行注释

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

推荐:web前端开发直播教程Q-q-u-n: 767273102 ,内有免费开发工具,零基础,进阶视频教程,希望新手少走弯路

...

不推荐:

...
    ...

模块注释

  • 注释内容前后各一个空格字符
  • ``表示模块开始
  • ``表示模块结束,模块与模块之间相隔一行
  • 模块注释内部嵌套模块注释,``

推荐:

    
        ...        
    
        ...        
    ...

语义化

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

常见标签语义:

标签 语义
<p> 段落
<hn> 标题(h1~h6)
<ul> 无序列表
<ol> 有序列表
<nav> 标记导航,仅对文档中重要的链接群使用
<main> 页面主要内容,一个页面只能使用一次。如果是 web 应用,则包围其主要功能
<article> 定义外部的内容,其中的内容独立于文档的其余部分
<section> 定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
<aside> 定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表
<header> 页眉通常包括网站标志、主导航、全站链接以及搜索框
<footer> 页脚,只有当父级是 body 时,才是整个页面的页脚
<figure> 规定独立的流内容(图像、图表、照片、代码等等)(默认有 40px 左右 margin)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69901074/viewspace-2649127/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69901074/viewspace-2649127/

你可能感兴趣的文章
干货! AI 推断解决方案栈 Vitis AI 全流程独家解析
查看>>
真相了 | 敲代码时,程序员戴耳机究竟在听什么?
查看>>
回首互联网十年,我们能从八次烧钱大战中学到什么
查看>>
漫画:如何辨别二逼互联网公司!?
查看>>
麒麟信安面向场景化创新,赋能openEuler商业验证
查看>>
王者又连跪了?快让 AI 帮你上分!
查看>>
1 分钟带你认识从 "�" 到 "锟斤拷"
查看>>
3 年培养 10 万“码农”,郑州推出“码农计划”
查看>>
一个三本程序猿的大厂逆袭之路
查看>>
程序员弃码投中医?还做成了不错的生意! | 极客视频
查看>>
百度一 29 岁程序员因“篡改数据”被抓
查看>>
去年我年薪 30W,今年我一天做 3 顿饭
查看>>
入职大厂,我容易吗?
查看>>
《互联网人退化简史》
查看>>
CTO 写的低级 Bug 再致网站被黑,CEO 的号都被盗了!
查看>>
955 加班少的公司名单来了!
查看>>
狂赚 1227 亿!腾讯员工 2020 年人均年薪 81 万;小米员工人均年薪 45 万
查看>>
漫画:什么是加密算法?
查看>>
程序员有话说 |当那个不靠谱的程序员跟我做同一个项目时
查看>>
怎样以程序员的方式来用百度呢?
查看>>