第一部分:HTML书写规范:

1.1 HTML整体结构:

1.1.1:HTML基础设施:

  1. 文档以"<!DOCTYPE...>"首行顶格开始,推荐使用"<!DOCTYPE htlm>";
  2. 文档必须申明编码charset,与文件本身编码保持一致,推荐<meta charset="UTF-8">;
  3. 根据页面内容和需求适当填写keywords和description;<meta name="keywords" content=""><meta name="decription" content="">
  4. 页面title是极为重要的一项。

1.1.2:结构顺序与视觉顺序基本保持一致

  1. 按照从上到下,从左到右的顺序进行书写HTML;
  2. 有时候为了便于搜索引擎抓取,我们要将重要内容在HTML结构中提前;
  3. 用div替代table布局;
  4. 当需要一些表现形式为表格的数据,使用<table>

1.1.3:结构(html),表现(css),行为(js)三者分离,避免内联

  1. 使用link将css文件引入,置于head中;
  2. 使用script将js文件引入,置于body底部。

1.1.4保持良好的简洁的树形结构:

  1. 每一个块级元素都另起一行,每一行都使用Tab缩进对齐。删除冗余的行尾的空格
  2. 使用4个空格代替1个Tab(大多数编辑器均可设置)
  3. 对于内容较为简单的表格,建议将<tr>写成单行
  4. 大的模块之间,可以使用空行隔开,使结构更为清晰

另外,请做到下列几点:

  1. 结构上可以并列书写,就不要嵌套书写。如:如果可以写成<div></div><div></div,就不要写成<div><div></div></div>
  2. 如果结构上已经可以满足视觉上与语义上的要求,就不要有冗余的结构。如:<div><h2></h2></div>,就不要写成<div><div><h2></h2></div></div>
  3. 一个标签上引用的ClassName不要过多,如不要出现这种情况:<div class="calss1 class2 class3 class4 class5"></div>
  4. 对一个语义化的内部标签,尽量避免使用ClassName。如这种情况中:<ul class="ask-help"><li class="item"></li></ul>,class="item"应该去除!

1.2 内容及语义:

1.2.1  内容类型决定使用的语义标签

在HTML中某种特定类型的内容要有特定的HTML标签来承载;也就是根据内容语义化HTML结构。

1.2.2  加强"资源型"内容的可访问性和可用性

在资源的内容上加上描述文案,比如img添加alt属性,在audio加上文案和链接

1.2.3  加强“不可见”内容的可访问性

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

1.2.4  以字符实体代替与HTML语法相同的字符,避免浏览器解析错误

更多HTML规范:参考链接

第二部分:CSS书写规范

参考链接

第三部分:JavaScript书写规范

3.1 区块:

总是使用大括号表示区块

 if(false)
var aa=1;
var bb=2;
var cc=3;
console.log(aa,bb,cc);//undefined 2 3
//等同于:
if(false){
var aa=1;
}
var bb=2;
var cc=3;

起首的大括号跟在关键字后面

 function test(){
return
{
name:'apple'
}
}
console.log(test());//undefined
//上面函数原本是想返回一个对象,但其实上面代码等价于:
function test(){
return ;
{
name:'apple'
}
}

正确的写法:

 function test(){
return {
name:'apple'
}
}

3.2行尾分号:JavaScript规定,行尾分号可以省略。但是建议:能不省的地方不要去省略(这不是python,ruby等语言)

3.3变量申明:由于“变量提升”,所以,变量声明最好在头部就申明

3.4new 命令:

var a=new myObeject();

  这是使用new命令,由构造函数生成一个对象。但是一旦忘记new,myObject()内部的this 关键字就会指向全局对象,导致所有绑定在this上面的变量,都变为全局变量。

因此构造函数首字母一般需要大写,而普通函数首字母小写!

3.5 with:尽量不要使用with

3.6 ==与===:建议总是使用严格相等(===)

3.7 switch...case结构:代码很容易冗长;容易造成程序流程的混乱,不符合面向对象编程原则。

switch...case建议尽量避免使用!

HTML&CSS书写规范的更多相关文章

  1. CSS书写规范、命名规范、网易CSS框架NEC

    网易CSS框架NEC:http://nec.netease.com/ NEC框架的CSS规范:  CSS规范 - 分类方法 CSS规范 - 命名规则 CSS规范 - 代码格式 CSS规范 - 优化方案 ...

  2. html和css书写规范

    HTML 规范 分离的标记.样式和脚本 结构.表现.行为分离 在可能情况下验证你的标记 使用编辑器验证你的标记是否正确,一般编辑器都自带有这个功能. 技术不支持的时候使用备胎,如canvas 编码格式 ...

  3. CSS书写规范

    一.CSS书写顺序 1.位置属性(position,top,right,z-index,display,float等) 2.大小(width,height,padding,margin) 3.文字系列 ...

  4. 推荐大家使用的CSS书写规范、顺序

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...

  5. 分享给大家的CSS书写规范、顺序

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...

  6. CSS书写规范及顺序

    CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3. ...

  7. 推荐大家使用的CSS书写规范及顺序

    @设计达人网 写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里我总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文 ...

  8. CSS书写规范、顺序

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经验总 ...

  9. CSS书写规范、顺序和命名规则

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考   这些是参考了国外一些文章以及我的个 ...

  10. 推荐大家使用的CSS书写规范、顺序(转载)

    转自:http://www.admin10000.com/document/2979.html 写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体 ...

随机推荐

  1. 关于学习oi的一些事项

    我只是突然有感而发!(脑抽罢了 我其实是那种一直都没有计划说去学什么的人. 当然也不是那种点开洛谷一道题去写这道题不会就去学习相应的知识点的人. 随着洛谷 poj bzoj HDU CH Vojs 等 ...

  2. 转:JDBC中关于PreparedStatement.setObject的一些细节说明

    原文地址:https://blog.csdn.net/zhiyangxuzs/article/details/78657235 JDBC中PreparedStatement.setObject(ind ...

  3. 从网络上筛选"流媒体"的相关文章

    1> 雷神的博客专栏https://blog.csdn.net/leixiaohua1020 [总结]FFMPEG视音频编解码零基础学习方法https://blog.csdn.net/leixi ...

  4. 学习UDP

    参考博客:https://www.cnblogs.com/skyfsm/p/6287787.html 简单编写了 udp的小程序,udp_client 端通过终端输入字符,然后发送给udp_serve ...

  5. es6 学习四 数组的学习

    1. Array.from() 语法: Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike 类数组对象 mapFn 如果指定了该参数,新数组中的每个 ...

  6. nodejs 学习二, nodejs调试

    nodejs 调试,在官方文档(英文),常用的两种: 一个在chrome安装插件inspector 第二种利用编辑 这里我使用vscode编辑来调试. 主要是配置 launch.json(用vscod ...

  7. Intellij IDEA中修改Maven项目的项目名称

    1. 原项目名:votesystem-redis     想要重命名成新项目名:votesystem 2. 我们对此项目名进行Rename 3. 再对此项目所在的目录下进行修改 4. 重新打开项目 若 ...

  8. Mysql聚集索引的使用

    聚集索引 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(不是数据结构,而是存储结构),具体细节依赖于其实现方式,聚簇索引实际上是在同一个结构中保存了btree索引和数据行. innodb将通 ...

  9. Building an (awesome) API with NancyFX 2.0 + Dapper

    http://blog.nandotech.com/post/2016-10-25-nancyfx-webapi-dapper/?utm_source=tuicool&utm_medium=r ...

  10. mysql的查询

    1.单表查询 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 ...