• 前端开发规范之html编码规范


    原则
    1.规范 。保证您的代码规范,趋html5,远xhtml,保证结构表现行为相互分离。
    2.简洁。保证代码的最简化,避免多余的空格、空行,保持代码的语义化,尽量使用具有语义的元素,避免使用样式属性和行为属性。任何时候都要用尽量简单、尽量少的元素解决问题。
    3.实用。遵循标准,但是不能以牺牲实用性为代价。
    4.忠诚。选择一套规范,然后始终遵循。不管代码由多少人参与,都应该看起来像一个人写的一样。

    语法
    1.小写。html标签、html属性全部小写。
    2.嵌套。所有元素必须正确嵌套。
    3.闭合。双标签必须闭合,单标签(自关闭标签)不闭合。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片

    <!--bad-->  
    <br/>  
    <hr/>  
    <!--good-->  
    <br>  
    <hr>  

    注释

    1.详尽注释。解释代码解决问题、解决思路、是否为新鲜方案等。
    2.模块注释。github建议不使用模块结束注释。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  
    <!-- 新闻列表模块 -->  
    <div class="news">  ...  
    <!-- /新闻列表模块 -->  
    <!-- 有不少规范建议不使用结束模块的注释,因为这样太丑了,又加重文件负荷。 -->  
    3.待办注释。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  
    <!-- TODO:待办事项 -->  ...  


    文档
    1.文档类型使用html5标准文档类型,文档类型声明之前,不允许出现任何非空字符。不允许添加<meta>强制改变文档模式。
    2.html元素上指定lang属性。显示页面语言,有助于语言合成工具来确定怎样发音,以及翻译工具决定使用的规则,等等。
    3.指定明确的字符编码。让浏览器轻松、快速的确定适合网页内容的渲染方式。
    4.IE兼容模式。Internet Explorer 支持使用兼容性 <meta> 标签来指定使用什么版本的 IE 来渲染页面。如果不是特殊需要,通常通过 edge mode 来通知 IE 使用最新的兼容模式。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">  
    5.head部分的顺序:a.<meta>元素,b. 需要的js文件(eg. Moddernizr or HTML5 Shiv),c. <title>元素,d.样式表。
    6.可以使用IE条件注释的方式兼容IE,但是不要添加额外的样式表。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  

    <!--bad-->  
    <!--[if IE8]>  
        <link rel="stylesheet" href="/Assets/styles/IE8.css" >  
    <![endif]-->  
    <!--[if IE7]>  
        <link rel="stylesheet" href="/Assets/styles/IE7.css" >  
    <![endif]-->  
      
    <!--good-->  
    <!--[if IE8]><html class="ie8" lang="zh-cn"><![endif]-->  
    <!--[if IE7]><html class="ie7" lang="zh-cn"><![endif]-->  


    属性
    1.双引号属性值,不要使用单引号。
    2.省略type属性。使用style、link、script,不用指定type属性,因为 text/css 和 text/javascript 分别是他们的默认值。
    3.省略Boolean属性值。Boolean属性不用添加取值,disabled,checked,selected等。
    4.省略url类属性资源协议头。
    5.属性顺序。html属性应该按照特定的顺序出现以保证易读性。class->id,name->data-*->src,for,type,href->title,alt->aria-*,role。
    6.多媒体元素添加替代属性。图像增加alt属性,音视频增加替代文字。
    7.不手动设置tabindex属性,让浏览器自动设置。


    元素
    1.避免冗余标签。
    2.避免JS生成标签。
    3.段落文字应该用<p>,避免使用<br>。
    4.列表项放<ul>、<ol>、<dl>,不要使用一系列的<div>或<p>
    5.<input>使用for属性绑定<label>。
    6.使用<label>标签包裹radio或checkbox和他们的文字,不用再使用for属性。
    7.使用单选、复选替代下拉菜单。(radio or checkbox instead of select menu)
    8.form button应制定type类型,使用type="submit"、type="reset"或type="button"。
    9.首要的表单按钮首先出现(在DOM中),尤其是适用多个提交按钮的场合。视图中显示的顺序可以利用css修改。
    10.有效使用<thead>、<tfoot>、<tbody>、<th>(scope属性)。可以把<tfoot>放<tbody>前提高加载速度。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  

    <table summary="This is a chart of invoices for 2011.">  
      <thead>  
        <tr>  
          <th scope="col">Table header 1</th>  
          <th scope="col">Table header 2</th>  
        </tr>  
      </thead>  
      <tfoot>  
        <tr>  
          <td>Table footer 1</td>  
          <td>Table footer 2</td>  
        </tr>  
      </tfoot>  
      <tbody>  
        <tr>  
          <td>Table data 1</td>  
          <td>Table data 2</td>  
        </tr>  
      </tbody>  
    </table>  


    格式
    1.soft tab。
    2.嵌套缩进。
    3.删除行尾空格。
    4.块元素、列表元素、表格元素都放在新行。
    5.inline元素视情况换行。
    6.努力保持每行长度小于80列,如果太长可换行。
    [html] view plaincopy在CODE上查看代码片派生到我的代码片  

    <!--bad-->  
    <img class="block_element" id="unicorn" src="http://cl.ly/image/1a1u013e002z" alt="unicorn, rainbows, poop and stuff" width="500" height="400" />  
    <!--good-->  
    <img   
      class="block_element"   
      id="unicorn"   
      src="http://cl.ly/image/1a1u013e002z"   
      alt="unicorn, rainbows, poop and stuff"   
      width="500"  
      height="400"  
    >  
    学无止境,贵在积累
  • 相关阅读:
    Android 9.png图片制作
    Android 基于Socket的聊天室
    poj 1659 Frogs' Neighborhood
    zoj 2836 Number Puzzle
    zoj 1372 Networking
    hdoj 4259 Double Dealing
    Direct2D (33) : 通过 ID2D1BitmapRenderTarget 绘制背景网格
    Direct2D (36) : RenderTarget.DrawText() 与 IDWriteTextFormat
    Direct2D (35) : 通过 DirectWrite 获取字体列表
    Direct2D (37) : 使用不同画刷绘制文本
  • 原文地址:https://www.cnblogs.com/izhaofu/p/4245199.html
Copyright © 2020-2023  润新知