前端开发规范:HTML规范

2017-12-05  本文已影响162人  辣瓜瓜

一个项目应该永远遵循同一套编码规范
不管有多少人共同参与同一项目,确保每一行代码都像是同一个人编写的

前端开发规范:HTML规范
相关链接:

前端开发规范:HTML规范
前端开发规范:CSS规范
前端开发规范:JavaScript规范

整体结构

HTML基础设施
结构顺序和视觉顺序基本保持一致
结构、表现、行为三者分离,避免内联
<!-- 通用 -->
<html>
  <head>
    <link rel="stylesheet" href="xxx.css">
  </head>
  <body>
    <!-- 内容 -->
    <script src="xxx.js" async></script>
  </body>
</html>
<!-- 只兼容现代浏览器推荐 -->
<html>
  <head>
    <link rel="stylesheet" href="xxx.css">
<script src="xxx.js" async></script>
  </head>
  <body>
    <!-- 内容 -->
  </body>
</html>



在此之外,为使得它们之间的联系尽可能的小,在文档和模板中也尽量少地引入样式和脚本文件,建议:

  1. 不使用超过一到两张样式表
  2. 不使用超过一到两个脚本(学会用合并脚本)
  3. 不使用行内样式(<style>.no-good {}</style>)
  4. 不在元素上使用 style 属性(<hr style="border-top: 5px solid black">)
  5. 不使用行内脚本(<script>alert('no good')</script>)
  6. 不使用表象元素(i.e. <b>, <u>, <center>, <font>, <b>)
  7. 不使用表象 class 名(i.e. red, left, center)
保持良好的简洁的树形结构

代码格式

说明文案的注释方法

采用类似标签闭合的写法,与HTML统一格式;注释文案两头空格,与CSS注释统一格式。

<body>
<!-- 侧栏内容区 -->
<div class="m-side">
    <div class="side">
        <div class="sidein">
            <!-- 热门标签 -->
            <div class="sideblk">
                <div class="m-hd3"><h3 class="tit">热门标签</h3> </div>
                ...
            </div>
            <!-- 最热TOP5 -->
            <div class="sideblk">
                <div class="m-hd3">
                    <h3 class="tit">最热TOP5</h3> 
                    <a href="#" class="s-fc02 f-fr">更多»</a>
                </div>
                ...
            </div>
        </div>
    </div>
</div>
<!-- /侧栏内容区 -->
</body>
严格的嵌套
严格的属性
内容类型决定使用的语义标签

在网页中某种类型的内容必定需要某种特定的HTML标签来承载,也就是我们常常提到的根据你的内容语义化HTML结构。
如:<time></time> <address></address>

加强“资源型”内容的可访问性和可用性
加强“不可见”内容的可访问性

背景图上的文字应该同时写在html中,并使用css使其不可见,有利于搜索引擎抓取你的内容,也可以在css失效的情况下看到内容。


淘宝、Tmall、京东mate标签参考

<!--淘宝网触屏版-->
<meta charset="utf-8">
<meta name="data-spm" content="a215s">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="yes" name="apple-touch-fullscreen">
<meta content="telephone=no,email=no" name="format-detection">
<meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes">
<meta name="viewport" content="initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">
<!--天猫TMALL-->
<meta charset="utf-8">
<meta name="aplus-terminal" content="1">
<meta name="apple-mobile-web-app-title" content="TMALL">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="spm-id" content="a223j.8443192">
<meta name="format-detection" content="telephone=no, address=no">
<meta name="aplus-waiting" content="MAN">
<!--JD-->
<meta name="author" content="m.jd.com">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<meta name="author" content="m.jd.com">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta name="full-screen" content="yes">
<meta name="browsermode" content="application">
<meta name="x5-fullscreen" content="true">
<meta name="x5-page-mode" content="app">
<meta name="description" content="京东JD.COM-专业的综合.....商城购物体验! ">
<meta name="Keywords" content="网上购物,手机,笔记本,电脑.....京东商城">



参考引用:
nec http://nec.netease.com/standard/html-structure.html

上一篇 下一篇

猜你喜欢

热点阅读