原文地址
https://ouvens.github.io/frontend-resource/2015/11/15/html-css-code-style.html
1.HTML规范
1.1 文档类型
- 统一使用HTML5的标准文档类型:<!doctype html>
HTML5文档类型具备前后兼容的特质,并且易记易书写
- 在文档doctype申明之前,不允许加上任何非空字符
任何出现在doctype申明之前的字符都将使得你的HTML文档进入非标准模式
- 不允许添加属性强制改变文档模式
避免出现不可控的问题
1.2 省略type属性
- 在调用CSS和JavaScript时,可以将type属性省略不写
不推荐:<link type="text/css" rel="stylesheet" href="base.css">
<script type="text/javascript" src="base.js"></script>
推荐:<link rel="stylesheet" href="base.css">
<script src="base.js"></script>
因为HTML5在引入CSS时,默认type值为text/css;在引入JavaScript时,默认type值为text/javascript
1.3 用双引号包裹属性值
- 所有的标签属性值必须要用双引号包裹,同时也不允许有的用双引号,有的用单引号的情况
不推荐:
<a href=http://www.qunar.com class=home>首页</a>
推荐:<a href="http://www.qunar.com" class="home">首页</a>
1.4 属性值省略 不推荐:
<input type="text" readonly="readonly">
<input type="text" disabled="disabled">
推荐:
<input type="text" readonly>
<input type="text" disabled>
这里的 readonly 和 disabled 属性的值是非必须的,可以省略不写,我们知道HTML5表单元素新增了很多类似的属性,如: required
1.5 嵌套
- 所有元素必须正确嵌套,不允许交叉,不允许inline元素包含block元素,不允许类似在ul下出现除了li外的其它子元素等等
不推荐:<span>
<h1>这是一个块级h1元素</h1>
<p>这是一个块级p元素</p>
</span>
<ul>
<h3>xx列表</h3>
<li>asdasdsdasd</li>
<li>asdasdsdasd</li>
</ul>
推荐:<div>
<h1>这是一个块级h1元素</h1>
<p>这是一个块级p元素</p>
</div>
<div>
<h3>xx列表</h3>
<ul>
<li>asdasdsdasd</li>
<li>asdasdsdasd</li>
</ul>
</div>
规则可参考: http://www.cs.tut.fi/~jkorpela/html/strict.html
由于某些现实原因,在HTML5中对a元素做了一些变更,a元素除了可以包含inline元素外,也将可以包含block元素了。
1.6 标签闭合 不推荐:<div>balabala...
推荐:<div>balabala...</div>
虽然有些标记没有要求必须关闭,但是为了避免出错的几率,要求必须全部关闭,省去判断某标记是否需要关闭的时间
- 自闭合标记无需关闭
<base> <br> <col> <embed> <hr> <img> <input> <link> <meta> <param>...
1.7 使用img的alt属性 不推荐:<img src="banner.jpg">
推荐:<img src="banner.jpg" alt="520即将到来,爱就大声说出来">
alt属性的内容为对该图片的简要描述,这对于盲人用户和图像损毁都非常有意义,即无障碍
对于纯粹的装饰性图片,alt属性值可以留空,如 alt=""
1.8 使用label的for属性 不推荐:<label><input type="radio" name="color" value="0">蓝色</label>
<label><input type="radio" name="color" value="1">粉色</label>
推荐:<label for="blue"><input type="radio" id="blue" name="color" value="0">蓝色</label>
<label for="pink"><input type="radio" id="pink" name="color" value="1">粉色</label>
for属性能让点击label标签的时候,同时focus到对应的 input 和 textarea上,增加响应区域
1.9 按模块添加注释<!-- comment -->
注释内容左右两边保留和注释符号有1个空格位
在注释内容内不允许再出现中划线“-”,某些浏览器会报错
<!-- 新闻列表模块 -->
<div id="news" class="g-mod"
...
<!-- /新闻列表模块 -->
<!-- 排行榜模块 -->
<div id="topic" class="g-mod"
...
<!-- /排行榜模块 -->
1.10 格式
- Inline元素视情况换行,以长度不超过编辑器一屏为宜
不推荐:<div><h1>asdas</h1><p>dff<em>asd</em>asda<span>sds</span>dasdasd</p></div>
推荐:<div>
<h1>asdas</h1>
<p>dff<em>asd</em>asda<span>sds</span>dasdasd</p>
</div>
1.11 语义化标签
1.
在合适的场景选择语义合适的标签
2.
禁止使用被废弃的用于表现的标签,如 center, font等
3.
部分在XHTML1中被废弃的标签,在HTML5中被重新赋予了新语义,选用时请先弄清其语义,如:b, i, u等
4.
元素据标记:
head, title, base, link, meta, style
5.
章节标签:
html, body, section, nav, article, aside, h1-h6, hgroup, header, footer, address
6.
脚本标记:
script, noscript
7.
分组内容标记:
p, hr, pre, blockquote, ol, ul, li, dl, dt,dd,figure,figcaption,div
8.
文本标签:
a, em, strong, small, s, time, code, var, sub, sup, i, b, u, mark, span, br,del
9.
媒体标签:
img, iframe, embed, object, param, video, audio, source, track, canvas, map, area
10.
互动标签:
details, summary, command, menu
11.
表单标签:
form, fieldset, legend, label, input, button, select, optgroup, option, textarea,progress
12.
表格标签:
table, caption, colgroup, col, thead, tbody, tfoot, tr, td, th
13.
参考文档:
http://www.w3.org/TR/html5/
http://dev.w3.org/html5/markup/elements.html
1.12 文档模板
<!doctype html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>网站项目名称-网站名称</title>
<link href="*.css" rel="stylesheet">
</head>
<body>
<div id=”doc”>
<header id="hd">
头部诸模块
</header >
<div id="bd">
主体部分诸模块
</div>
<footer id="ft">
底部诸模块
</footer>
</div>
<script src="*.js"></script>
</body>
</html>
所有的项目页面都可以直接使用上述的标准文档模板,并根据实际情况做 “加法” ,诸如meta的description, keywords之类,其中#doc级别不是必须的,视情况加减
1.13 模块模板
<section class="m-xxx g-mod">
<header class="m-xxx-hd">
头部区域
</header>
<div class="m-xxx-bd">
模块正文
</div>
<footer class="m-xxx-ft">
底部区域
</footer>
</section>
所有的模块默认都是上面这种固有结构,特殊情况可视场景而变,换句话说,有的时候你的某个模块可能会是一个aside。
分享到:
相关推荐
HTML编码规范 高清PDF扫描版 带标签 附源码 内容简单易懂 适合新手
初学bootstrap时,阅读和记录了在bootstrap中文网首页由@mdo所撰写的文档资料基本参考。
HTML编码规范.pdf
HTML编码规范.docx
前端编码规范-html-cs
HTML编码规范[文].pdf
前端开发规范-【HTML编码规范】.pdf
1.写在前面本次的软件工程实践,前端由3个人共同开发,为了保证 html 的可读性,提高协作效率。故做以下编码约定。本规范还未经过实践的检验,后期还会对本规范的
HTML 的编码规范~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
html编码规范HTML并不是一种编程语言,而是一种标记语言,它没有任何真正的编程语言中的循环或是流程控制语句。然而,HTML代码的格式和风格是非常重要的,因为要经常对HTML代码进行维护和修改,因此HTML代码必须有很...
HTML5前端编码规范
整理前端开发的通常编码规范,包括CSS/JavaScript以及部分HTML编码规范。
中国移动技术文档
Bootstrap HTML编码规范 code { font-family: “PT Mono”, Menlo, “Courier New”, monospace; padding: 2px 4px; font-size: 85%; color: #d44950; background-color: #f7f7f9; border-radius: .2rem; } ...
整理的JAVA及前端开发编码规范,包含有Java编码规范、Vue编码规范、HTML编码规范
javascript编码规范、HTML编码规范、CSS编码规范