翻译:稳定、地道HTML书写原则
- - 张鑫旭-鑫空间-鑫生活本文地址: http://www.zhangxinxu.com/wordpress/?p=2896. 原文链接: Principles of writing consistent, idiomatic HTML. 原文作者: necolas. //zxx: 以下为翻译全文 ——–. 所有的代码应看似出自一人之手,即使奶妈有多人.
by zhangxinxu from http://www.zhangxinxu.com
本文地址: http://www.zhangxinxu.com/wordpress/?p=2896
//zxx: 以下为翻译全文 ——–
你的整个源代码应该只存在一种风格。空白使用前后一致,使用空白提高可读性。
小提示:你可以配置编辑器“显示不可见”(“show invisibles”),此举可用来消除结束行的空白,避免违背上面(坚持一种缩进)的承诺。
checked而不是 checked="checked")。link样式表、 style以及 script元素的 type属性。img, br)不要包含斜杠。(每行长度保持一个最大的合理值,例如 80列)
例如:
<div class="tweet">
<a href="path/to/somewhere">
<img src="path/to/image.png" alt="">
</a>
<p>[微博文字]</p>
<button disabled>回复</button>
</div>
异常和轻微的偏差
元素含有多个属性,可以跨多行排版,以努力提高可读性以及提供更多有用的差异。
如:
<a class="[value]"
data-action="[value]"
data-id="[value]"
href="[url]">
<span>[文字]</span>
</a>
HTML属性应该以特定的属性排列,(如下)这可以某种程度上反应类名是主要接口——用做CSS以及JavaScript选择元素
classiddata-*例如:
<a class="[value]" id="[value]" data-name="[value]" href="[url]">[文字]</a>
命名很难,但很重要。这是开发一个可维护的代码库重要的组成部分,并确保您HTML和CSS/JS见有个可伸缩的接口。
下面是糟糕的命名:
<div class="cb s-scr"></div>
.s-scr {
overflow: auto;
}
.cb {
background: #000;
}
这是更好一点的命名:
<div class="column-body is-scrollable"></div>
.is-scrollable {
overflow: auto;
}
.column-body {
background: #000;
}
含各种约定的例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文档</title>
<link rel="stylesheet" href="main.css">
<script src="main.js"></script>
</head>
<body>
<article class="post" id="1234">
<time class="timestamp">2013年1月4日</time>
<a data-id="1234"
data-analytics-category="[value]"
data-analytics-action="[value]"
href="[url]">[文本]</a>
<ul>
<li>
<a href="[url]">[文本]</a>
<img src="[url]" alt="[文本]">
</li>
<li>
<a href="[url]">[文本]</a>
</li>
</ul>
<a class="link-complex" href="[url]">
<span class="link-complex__target">[文本]</span>
[文本]
</a>
<input value="text" readonly>
</article>
</body>
</html>
//zxx: 以上为翻译全文 ——–
大家可以根据自己的实际情况,提炼出有帮助的信息。
翻译水平有限,文中要是有不准确之处,欢迎指正。
原创文章,转载请注明来自 张鑫旭-鑫空间-鑫生活[ http://www.zhangxinxu.com]
本文地址: http://www.zhangxinxu.com/wordpress/?p=2896
(本篇完)