• 前端-HTML规范


    1.缩进

    统一两个空格缩进

    2.命名规范

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

    3.DOCTYPE 声明

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

    1 <!DOCTYPE html>

    4.meta 标签

    • 统一使用 “UTF-8” 编码
    1 <meta charset="utf-8">
    • SEO 优化
    1 <!-- 页面关键词 -->
    2 <meta name ="keywords" content =""/>
    3 <!-- 页面描述 -->
    4 <meta name ="description" content ="">
    5 <!-- 网页作者 -->
    6 <meta name ="author" content ="">
    • 优先使用 IE 最新版本和 Chrome
    1 <meta http-equiv ="X-UA-Compatible" content ="IE = edge,chrome = 1">
    • 为移动设备添加视口
    1 <!-- device-width 是指这个设备最理想的 viewport 宽度 -->
    2 <!-- initial-scale=1.0 是指初始化的时候缩放大小是1,也就是不缩放 -->
    3 <!-- user-scalable=0 是指禁止用户进行缩放 -->
    4 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    • 禁止自动识别页面中有可能是电话格式的数字
    1 <meta name="format-detection" content="telephone=no">

    5.标签

    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 等

    普通标签使用小写,外部引入的组件标签使用大写

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

    6.属性的定义,统一使用双引号。

    1 <input type="text" name="title" />

    7.代码嵌套

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

    8.灵活使用伪类

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

    HTML 代码

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

    CSS 代码:

    1 /* We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content */
    2 .text-box:before {
    3   content: '';
    4   display: inline-block;
    5    1rem;
    6   height: 1rem;
    7   background-color: red;
    8 }

    9.特殊符号必须使用转义符

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

    10.纯数字输入框

    使用 type=“tel” 而不是 type=“number”

    1 <input type="tel">

    11.注释规范

    单行注释

    • 一般用于简单的描述,如某些状态描述、属性描述等
    • 注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行
    1 <!-- Comment Text -->
    2 <div>...</div>

    模块注释

    1 注释内容前后各一个空格字符
    2 <!-- S Comment Text -->表示模块开始
    3 <!-- E Comment Text -->表示模块结束,模块与模块之间相隔一行
    4 模块注释内部嵌套模块注释,<!-- /Comment Text -->
     1 <!-- S Comment Text A -->
     2 <div class="mod_a">
     3 
     4     <div class="mod_b">
     5         ...
     6     </div>
     7     <!-- /mod_b -->
     8 
     9     <div class="mod_c">
    10         ...
    11     </div>
    12     <!-- /mod_c -->
    13 
    14 </div>
    15 <!-- E Comment Text A -->
    16 
    17 <!-- S Comment Text D -->
    18 <div class="mod_d">
    19     ...
    20 </div>
    21 <!-- E Comment Text D -->

    12.语义化

    • 没有 CSS 的 HTML 是一个语义系统而不是 UI 系统
    • 通常情况下,每个标签都是有语义的
    • 语义化的 HTML 结构,有助于机器(搜索引擎)理解,另一方面多人协作时,能迅速了解开发者意图
    • 建议页面中多使用语义化标签,而不是整个页面以 div 构成
  • 相关阅读:
    dotnetcore EF 分页
    MySQL为什么有时候会选错索引?
    Java内存模型:看Java如何解决可见性和有序性问题
    互斥锁(上):解决原子性问题
    可见性、原子性和有序性问题:并发编程Bug的源头
    程序的运行过程:从代码到机器运行
    几行汇编几行C:实现一个最简单的内核
    怎么给字符串字段加索引?
    互斥锁(下):如何用一把锁保护多个资源?
    震撼的Linux全景图:业界成熟的内核架构长什么样?
  • 原文地址:https://www.cnblogs.com/hzn1995/p/14687547.html
Copyright © 2020-2023  润新知