前端开发规范

通用约定

  1. 基本准则

    符合web标准,语义化html,结构表现行为分离,兼容性优良。页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。

  2. 文件与目录命名约定
    一律小写,必须是英文单词或产品名称的拼音,多个单词用下划线(_)连接。只能出现英文字母、数字和下划线,严禁出现中文;
    出现版本号时,需要用字母 v 做为前缀,小版本号用点号(.)隔开,比如 global_v8.js 或 detail_v2.2.js;
    该命名规范适用于 html, css, js, swf, xml, png, gif, jpg, ico 等前端维护的所有文件类型和相关目录。

  3. 文件编码约定

    一律使用 UTF-8 编码.

  4. id 和 class 命名约定

    id 和 class 的命名总规则为: 内容优先,表现为辅。首先根据内容来命名,比如 main-nav。如果根据内容找不到合适的命名,可以再结合表现来定,比如 skin-blue、 present-tab、col-main;
    用于样式的 id 和 class 名称一律小写,多个单词用连字符连接,比如 recommend-presents,名称中只能出现小写的 26 个英文字母、数字和连字符(-),任何其它字符都严禁出现;
    id 和 class 尽量用英文单词命名。确实找不到合适的单词时,可以考虑使用产品的中文拼音;
    在不影响语义的情况下, id 和 class 名称中可以适当采用英文单词缩写, 比如 col, nav, hd, bd, ft 等, 但切忌自造缩写;
    id 和 class 名称中的第一个词必须是单词全拼或语义非常清晰的单词缩写, 比如 present、col;
    在 JavaScript 代码中当作 hook 用的 id 或 class, 命名规则为驼峰规则,比如:navSubMenu,tableForm。 注意:如果在 JavaScript 和 CSS 中都需要用到,则不用遵守本约定。

HTML编码规范

语义

使用符合语义的标签书写 HTML 文档, 选择恰当的元素表达所需的含义

1、语义:使用符合语义的标签书写 HTML 文档, 选择恰当的元素表达所需的含义

2、大小写:元素的标签和属性名必须小写, 属性值必须加双引号

3、空格:去除比不必要的空格

4、嵌套:元素嵌套遵循 (X)HTML Strict 嵌套规则;
正确区分自闭合元素和非自闭合元素. 非法闭合包括:<br>..</br>、<script />、<iframe />, 非法闭合会导致页面嵌套错误问题;
尽可能减少div嵌套层数。

5、自定义属性:通过给元素设置自定义属性来存放与 JavaScript 交互的数据, 属性名格式为 data-xx (例如:data-lazyload-url)。某些第三方插件自有数据不限此规范。

6、DOCTYPE 和 编码:页面文档类型统一使用HTML5 DOCTYPE,utf-8 编码

7、代码分离:将表现,行为和结构分离:不要在 html 和模板中加入除了结构以外的东西,在文档中引入尽可能少的样式和脚本;在页面中尽量避免使用style属性,即style="…"。

8、结构性元素:p 表示段落. 只能包含内联元素, 不能包含块级元素;
                           div 本身无特殊含义, 可用于布局. 几乎可以包含任何元素;
                           br 表示换行符;
                           hr 表示水平分割线;
                           h1-h6 表示标题. 其中 h1 用于表示当前页面最重要的内容的标题;
                           blockquote 表示引用, 可以包含多个段落. 请勿纯粹为了缩进而使用 blockquote, 大部分浏览器默认将blockquote 渲染为带有左右缩进;
                           pre 表示一段格式化好的文本。

9、头部元素:title 每个页面必须有且仅有一个 title 元素;
                        base 可用场景:首页、频道等大部分链接都为新窗口打开的页面;
                        link link 用于引入 css 资源时, 可省去 media(默认为all) 和 type(默认为text/css) 属性;
                        style type 默认为 text/css, 可以省去;
                        script type 属性可以省去; 不赞成使用lang属性; 不要使用古老的<!– //–>这种hack脚本, 它用于阻止第一代浏览器(Netscape 1和Mosaic)将脚本显示成文字;

10、文本元素:特殊符号使用: 尽可能使用代码替代:比如 < ( < )、> ( > ) 、空格 (   ) 、» ( » );
                          a a 存在 href 属性时表示链接, 无 href 属性但有 name 属性表示锚点;
                          em,strong em 表示句意强调, 加与不加会引起语义变化, 可用于表示不同的心情或语调; strong 表示重要性强调, 可用于局部或全局, strong强调的是重要性, 不会改变句意;
                          abbr 表示缩写;
                          sub,sup 主要用于数学和化学公式, sup还可用于脚注;
                          span 本身无特殊含义;
                          ins,del 分别表示从文档中增加(插入)和删除。

11、媒体元素:img 请勿将img元素作为定位布局的工具, 不要用他显示空白图片; 给img元素增加alt属性
object/embed 可以用来插入Flash。

12、列表元素:dl 表示关联列表,dd是对dt的解释;dt和dd的对应关系比较随意: 一个dt对应多个dd、多个dt对应一个dd、多个dt对应多个dd, 都合法; 可用于名词/单词解释、日程列表、站点目录;
                         ul 表示无序列表;
                         ol 表示有序列表, 可用于排行榜等;
                         li 表示列表项, 必须是ul/ol的子元素。

 

13、表单元素:推荐使用 button 代替 input, 但必须声明 type,不同浏览器的 type 值不一样;
                         推荐使用 fieldset, legend 组织表单;
                         单选或多选 input 建议使用 label 包含;
                         表单元素的 name 不能设定为 action, enctype, method, novalidate, target, submit 会导致表单提交混乱;

文档模板

<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>文档模板</title>
        <link rel="stylesheet" href="" />
    </head>
    <body>
        <div id="page">
            <div id="header">
                页头
            </div>
            <div id="content">
                主体
            </div>
            <div id="footer">
                页尾
            </div>
        </div>
        <script src=""></script>
        <script>
        // 你的代码
        </script>
    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值