Bootstrap HTMLコーディング規約
语法
- タブ(tab)の代わりにスペース2つを使用する -- これはすべての環境で一貫した表示を保証する唯一の方法です。
- ネストされた要素は1段階インデントする(つまりスペース2つ)。
- 属性の定義には、すべて二重引用符を使用し、単一引用符は決して使用しない。
- 自己終了(self-closing)要素の末尾にスラッシュを追加しない --HTML5 规范中で、これはオプションであると明確に説明されています。
- 省略可能な終了タグ(closing tag)を省略しない(例:
</li>或</body>)。
实例:
<!DOCTYPE html>
<html>
<head>
<title>Page title</title>
</head>
<body>
<img src="images/company-logo.png.html" alt="Company">
<h1 class="hello-world">Hello, world!</h1>
</body>
</html>
HTML5 doctype
各HTMLページの最初の行に標準モード(standard mode)の宣言を追加し、すべてのブラウザで一貫した表示を確実にする。
实例:
<!DOCTYPE html> <html> <head> </head> </html>
语言属性
HTML5 の仕様に基づいて:
htmlルート要素にlang属性を指定して、ドキュメントに正しい言語を設定することを強く推奨する。これにより、音声合成ツールが使用すべき発音を決定し、翻訳ツールが翻訳時に従うべき規則を決定するのに役立つ。など。
ここにリストされています语言代码表。
<html lang="zh"> <!-- ... --> </html>
IE 互換モード
IE は特定の...を通じてサポートしており、<meta>タグによって、現在のページの描画に使用すべきIEバージョンを決定する。強い特別な要件がない限り、...に設定するのが最善である。edge mode、それにより IE に、サポートしている最新のモードを採用するよう通知します。
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
字符编码
文字エンコーディングを明示的に宣言することで、ブラウザがページコンテンツのレンダリング方法を迅速かつ容易に判断できる。これにより、HTMLで文字実体(character entity)を使用することを回避でき、すべてがドキュメントのエンコーディング(通常はUTF-8)と一致する。
<head> <meta charset="UTF-8"> </head>
CSS と JavaScript ファイルの読み込み
HTML5仕様によれば、CSSファイルとJavaScriptファイルを読み込む際に、通常は指定する必要はないtype属性、なぜならtext/cssとtext/javascriptそれぞれがそれらのデフォルト値です。
HTML5 spec links
<!-- External CSS --> <link rel="stylesheet" href="code-guide.css.html"> <!-- In-document CSS --> <style> /* ... */ </style> <!-- JavaScript --> <script src="code-guide.js.html"></script>
実用こそ王
HTMLの標準とセマンティクスに可能な限り従うが、実用性を犠牲にしてはならない。常に最小限のタグを使用し、複雑さを最小限に保つよう努める。
属性顺序
HTML属性は、コードの可読性を確保するために、以下に示す順序で並べる必要がある。
classid,namedata-*src,for,type,hreftitle,altaria-*,role
class は再利用性の高いコンポーネントを識別するために使用されるため、最初に配置すべきです。id は特定のコンポーネントを識別するために使用され、慎重に使用すべきです(例:ページ内のブックマーク)。そのため、2番目に配置します。
<a class="..." id="..." data-modal="toggle" href="../index.html"> Example link </a> <input class="form-control" type="text"> <img src="....html" alt="...">
ブール(boolean)属性
ブール型属性は、宣言時に値を割り当てなくてもよい。XHTML仕様では値を割り当てる必要があるが、HTML5仕様では必要ない。
詳しくは、以下を参照してくださいWhatWG section on boolean attributes:
要素のブール型属性は、値があればtrue、値がなければfalseである。
如果一定値を割り当てる場合は、WhatWG仕様を参照してください:
属性が存在する場合、その値は空文字列または [...] 属性の規範名でなければならず、先頭と末尾に空白を追加してはならない。
簡単に言えば、値を代入する必要はありません。
<input type="text" disabled> <input type="checkbox" value="1" checked> <select> <option value="1" selected>1</option> </select>
タグの数を減らす
HTMLコードを書く際は、余分な親要素を避けるようにする。多くの場合、これを実現するには反復とリファクタリングが必要になる。以下の例を参照してください。
<!-- Not so great --> <span class="avatar"> <img src="....html"> </span> <!-- Better --> <img class="avatar" src="....html">
JavaScript で生成されたタグ
JavaScriptによって生成されたタグは、コンテンツを検索や編集しにくくし、パフォーマンスも低下させる。避けられる場合は避けるようにする。
其他扩展