html编码规范

语法

  • 用四个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法。不允许使用 2 个空格 或 tab 字符。
  • 嵌套元素应当缩进一次(即四个空格)。


    
        Page title
    
  
    

Hello, world!

  • 对于属性的定义,确保全部使用双引号,绝不要使用单引

  • 不要在自闭合(self-closing)元素的尾部添加斜线。
    常见无需自闭合标签有 input、br、img、hr 等。




  • 不要省略可选的结束标签(例如,

  • first
  • second
  • first
  • second
  • 标签使用必须符合标签嵌套规则。
    比如 div 不得置于 p 中,tbody 必须置于 table 中。li必须置于ul或者ol中,dt dd 必须置于dl 中

Esprima building block for some JavaScript language tools.

  • HTML 标签的使用应该遵循标签的语义
p - 段落
h1,h2,h3,h4,h5,h6 - 层级标题
strong- 强调
ins - 插入
del - 删除
abbr - 缩写
code - 代码标识
cite - 引述来源作品的标题
q - 引用
blockquote - 一段或长篇引用
ul - 无序列表
ol - 有序列表
dl,dt,dd - 定义列表
i,u,em - 小标签 图标或者单个文字控制
  • img 标签上要加 alt 描述属性,a 标签上要加title属性
![](logo.jpg)

  • 在 CSS 可以实现相同需求的情况下不得使用表格进行布局。
  • 标签名必须使用小写字母

  • 布尔(boolean)型属性在声明时不赋值。



  • 属性顺序
    HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性。
    所有属性皆使用双引号而不是单引号
    class
    id, name
    data-*
    src, for, type, href, value
    title, alt
    class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(确保ID唯一性),因此排在第二位。
Example link

HTML5 doctype

  • 为每个 HTML 页面的第一行添加标准模式(standard mode)的声明,这样能够确保在每个浏览器中拥有一致的展现。
  • 强烈建议为 html 根元素指定 lang 属性,从而为文档设置正确的语言。这将有助于语音合成工具确定其所应该采用的发音,有助于翻译工具确定其翻译时所应遵守的规则等等。统一为 lang="zh-cn"


    
    

字符编码

通过明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。这样做的好处是,可以避免在 HTML 中使用字符实体标记(character entity),从而全部与文档编码一致(一般采用 UTF-8 编码)。


  

响应式网站的viewport

为保证响应式网站在移动端的正常预览


IE 兼容模式

IE 支持通过特定的 标签来确定绘制当前页面所应该采用的 IE 版本。除非有强烈的特殊需求,否则最好是设置为 edge mode,从而通知 IE 采用其所支持的最新的模式。



添加网页图标,关键词和网站描述,便于SEO搜索

在未指定 favicon 时,大多数浏览器会请求 Web Server 根目录下的 favicon.ico 。为了保证 favicon 可访问,避免 404,必须遵循以下两种方法之一:
1.在 Web Server 根目录放置 favicon.ico 文件。
2.使用 link 指定 favicon。




引入 CSS 和 JavaScript 文件

根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type 属性,因为 text/css 和 text/javascript 分别是它们的默认值。
所有 CSS 资源应当在head中引用,JavaScript 应当放在页面末尾,或采用异步加载。



实用为王

尽量遵循 HTML 标准和语义,但是不要以牺牲实用性为代价。任何时候都要尽量使用最少的标签并保持最小的复杂度。尽量减少代码嵌套

JavaScript 生成的标签

通过 JavaScript 生成的标签让内容变得不易查找、编辑,并且降低性能。能避免时尽量避免。

代码分离

严格地保证HTML、CSS、JS三者分离,并尽量使三者之间没有太多的交互和联系。

  • 尽可能减少CSS和JS引用个数,尽量合并压缩。
  • 不使用行内样式(
  • 不在元素上使用 style 属性(
  • 不使用行内脚本(

div层级较多时推荐添加注释


表单

  • 控件标题
    有文本标题的控件必须使用 label 标签将其与其标题相关联。
    1.将控件置于 label 内。
    2.label 的 for 属性指向控件的 id。
    推荐使用第一种,减少不必要的 id。如果 DOM 结构不允许直接嵌套,则应使用第二种。

 
  • 按钮
    button 元素的默认 type 为 submit,如果被置于 form 元素中,点击后将导致表单提交。为显示区分其作用方便理解,必须给出 type 属性。


你可能感兴趣的:(html编码规范)