HTML コード作成ガイド

HTML コード作成ガイド

共通コンベンションタグ

自己終了タグ。閉じる必要はありません (例: img input br hr など)。
オプションの終了タグ。閉じる必要があります (例: </li> または </body>)。
タグの数を最小限に抑えます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <画像  src = "画像/google.png"   alt = "Google" >   
  2. <入力 タイプ= "テキスト"  名前= "タイトル" >   
  3.   
  4. < ul >   
  5.    < li >スタイル</ li >   
  6.    < li >ガイド</ li >   
  7. </ ul >   
  8.   
  9. <!-- 推奨されません -->   
  10. <スパン クラス= "アバター" >   
  11.    <画像  src = "..." >   
  12. </スパン>   
  13.   
  14. <!-- 推奨 -->   
  15. <画像 クラス= "アバター"   src = "..." >   

クラスとID

クラスの名前は、プレゼンテーションではなく、機能やコンテンツに基づいて付ける必要があります。
class と id の文字は小文字です。複数の単語で構成される場合は、ハイフンで区切られます。
一意の ID を JavaScript フックとして使用し、スタイル情報のないクラスを作成しないようにしてください。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!-- 推奨されません -->   
  2. < div  クラス= "j-hook 左 contentWrapper" > </ div >   
  3.   
  4. <!-- 推奨 -->   
  5. < div   id = "Jフック"   class = "サイドバーコンテンツラッパー" > </ div >   

属性順序

読みやすさを確保するために、HTML 属性は特定の順序で表示する必要があります。

id
クラス
名前
データ-xxx
src、for、type、href
タイトル、代替
aria-xxx、役割

XML/HTML コードコンテンツをクリップボードにコピー
  1. <   id = "..."  クラス= "..."  データモーダル= "トグル"   href = "###" > </ a >   
  2.   
  3. <入力 クラス= "フォームコントロール"  タイプ= "テキスト" >   
  4.   
  5. <画像  src = "..."   alt = "..." >   

引用符

属性定義では二重引用符が一貫して使用されます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!-- 推奨されません -->   
  2. <スパン  id = 'Jフック'  クラス=テキスト> Google </ span >   
  3.   
  4. <!-- 推奨 -->   
  5. <スパン  id = "Jフック"  クラス= "text" > Google </ span >   

bネスト

a は div をネストすることを許可しません。この制約はセマンティック ネスト制約に属します。これと異なるのは厳密なネスト制約です。たとえば、a は a をネストすることを許可しません。

厳密なネスト制約はすべてのブラウザで許可されているわけではありません。一方、セマンティックなネスト制約は、ほとんどの場合、許容度の高いブラウザによって処理され、生成されるドキュメント ツリーは互いに異なる場合があります。

セマンティックネスト制約

<li> は <ul> または <ol> の下で使用されます。
<dd>、<dt> は <dl> の下で使用されます。
<thead>、<tbody>、<tfoot>、<tr>、<td> は <table> の下で使用されます。


厳格なネスト制約

インライン レベル要素には、テキストまたは他のインライン レベル要素のみを含めることができます。
<a>、<button>、<select> などのインタラクティブ要素は <a> 内にネストできません。
<div>、<h1>~<h6>、<p>、<ul>/<ol>/<li>、<dl>/<dt>/<dd>、<form> などのブロックレベル要素は、<p> 内にネストできません。

ブールプロパティ

HTML5 仕様では、disabled、checked、selected などの属性に値を設定する必要はありません。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <入力  type = "text"無効>   
  2.   
  3. <入力 タイプ= "チェックボックス"  = "1"チェック済み>   
  4.   
  5. <選択>   
  6.    <オプション = "1"選択済み> 1 </オプション>   
  7. </選択>   

セマンティック
CSS のない HTML は、UI システムではなくセマンティック システムです。

通常、各ラベルには意味があります。いわゆる意味とは、衣服がコート、パンツ、スカート、下着などに分けられ、それぞれに対応する機能と意味があることを意味します。だから下着を首に巻くことはできないのです。 -- 痕跡

さらに、セマンティック HTML 構造は機械 (検索エンジン) が理解するのに役立ち、複数の人が共同作業を行うときに開発者の意図をすぐに理解できます。

共通タグセマンティクス

ラベルセマンティクス
<p>段落
<h1><h2><h3>...タイトル
<ul>順序なしリスト
<オル>順序付きリスト
<引用>ブロック引用
<引用>一般引用
<b>大胆なスタイル
<強い>強調するために太字にする
<i>スタイルに合わせて傾ける
<em>傾けてコンテンツを強調する
コードコード識別
略語略語

構築するページを、タグの機能と意味に対応するセマンティクスを持つ本として考えます。

書籍タイトル: <h1>
本の章タイトル: <h2>
セクション内の記事タイトル: <h3>
サブタイトル/字幕: <h4> <h5> <h6>
章の段落: <p>


文書タイプ

すべての HTML ページの最初の行に標準モード宣言を追加すると、すべてのブラウザで一貫した動作が保証されます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!DOCTYPE html >   
  2. 言語属性
  3.   
  4. <!-- 中国語 -->   
  5. < html   lang = "zh-Hans" >   
  6.   
  7. <!-- 簡体字中国語 -->   
  8. < html   lang = "zh-cmn-Hans" >   
  9.   
  10. <!-- 繁体字中国語 -->   
  11. < html   lang = "zh-cmn-Hant" >   
  12.   
  13. <!-- 英語 -->   
  14. < html   lang = "ja" >   

文字エンコーディング

ファイル形式として BOM なしの UTF-8 エンコードを使用します。
文字エンコーディングを指定する meta 要素は、 head 要素の最初の直接の子要素である必要があります。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <html>   
  2.    <ヘッド>   
  3.      <メタ 文字セット= "utf-8" >   
  4. ......
  5.    </ヘッド>   
  6.    <本文>   
  7. ......
  8.    </本文>   
  9. </html>   

IE互換モード

最新バージョンの IE および Chrome カーネルの使用を優先します。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <メタ  http-equiv = "X-UA 互換"  コンテンツ= "IE=edge,chrome=1" >   

SEO最適化

XML/HTML コードコンテンツをクリップボードにコピー
  1. <ヘッド>   
  2.      <メタ 文字セット= "utf-8" >   
  3.      <メタ  http-equiv = "X-UA 互換"  コンテンツ= "IE=edge,chrome=1" >   
  4.      <!-- SEO -->   
  5.      < title >スタイルガイド</ title >   
  6.      <メタ  name = "キーワード"   content = "キーワード" >   
  7.      <メタ 名前= "説明"   content = "あなたの説明" >   
  8.      <メタ 名前= "著者"   content = "著者,メールアドレス" >   
  9. </ヘッド>   

ビューポート

ビューポート: 一般的に、ツールバーやタブなどを除いたブラウザ ウィンドウのコンテンツ領域のサイズを指します。
幅: ブラウザの幅、出力デバイスでのページの表示領域の幅。
device-width: デバイスの解像度の幅、出力デバイス画面の表示幅。
initial-scale: 初期スケーリング比率。
最大スケール: 最大ズーム比。
モバイルデバイス向けに最適化し、表示領域の幅と初期ズーム比を設定します。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <メタ  name = "ビューポート"  コンテンツ= "幅=デバイス幅、初期スケール=1.0" >   

iOSアイコン

アップル タッチ アイコンの画像は、角が丸くなり、ハイライトされて自動的に処理されます。
apple-touch-icon-precomposed は、システムによる効果の自動追加を無効にし、元のデザインを直接表示します。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!-- iPhone および iTouch、デフォルト 57x57 ピクセル、必須 -->   
  2. <リンク  rel = "アップルタッチアイコン事前合成"   href = "/apple-touch-icon-57x57-precomposed.png" >   
  3.   
  4. <!-- iPad、72x72 ピクセル、オプションだが推奨 -->   
  5. <リンク  rel = "アップルタッチアイコン事前合成"   href = "/apple-touch-icon-72x72-precomposed.png"  サイズ= "72x72" >   
  6.   
  7. <!-- Retina iPhone および Retina iTouch、114x114 ピクセル、オプションですが推奨 -->   
  8. <リンク  rel = "アップルタッチアイコン事前合成"   href = "/apple-touch-icon-114x114-precomposed.png"  サイズ= "114x114" >   
  9.   
  10. <!-- Retina iPad、144x144 ピクセル、オプションですが推奨 -->   
  11. <リンク  rel = "アップルタッチアイコン事前合成"   href = "/apple-touch-icon-144x144-precomposed.png"  サイズ= "144x144" >   

ファビコン

favicon が指定されていない場合、ほとんどのブラウザは Web サーバーのルート ディレクトリにある favicon.ico を要求します。ファビコンにアクセスできるようにし、404 を回避するには、次の 2 つの方法のいずれかに従う必要があります。

favicon.ico ファイルを Web サーバーのルート ディレクトリに配置します。
リンクを使用してファビコンを指定します。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <リンク  rel = "ショートカットアイコン"   href = "favicon.ico へのパス" >   

HEADテンプレート

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!DOCTYPE html >   
  2. < html   lang = "zh-cmn-Hans" >   
  3. <ヘッド>   
  4.      <メタ 文字セット= "utf-8" >   
  5.      <メタ  http-equiv = "X-UA 互換"  コンテンツ= "IE=edge,chrome=1" >   
  6.      < title >スタイルガイド</ title >   
  7.      <メタ 名前= "説明"   content = "150文字以内" >   
  8.      <メタ  name = "キーワード"  コンテンツ= "" >   
  9.      <メタ 名前= "著者"  コンテンツ= "名前、[email protected]" >   
  10.   
  11.      <!-- モバイルデバイス用のビューポートを追加 -->   
  12.      <メタ  name = "ビューポート"  コンテンツ= "幅=デバイス幅、初期スケール=1.0" >   
  13.   
  14.      <!-- iOS アイコン -->   
  15.      <リンク  rel = "アップルタッチアイコン事前合成"   href = "/apple-touch-icon-57x57-precomposed.png" >   
  16.   
  17.      <リンク  rel = "代替"  タイプ= "application/rss+xml"  タイトル= "RSS"   href = "/rss.xml"   />   
  18.      <リンク  rel = "ショートカットアイコン"   href = "favicon.ico へのパス" >   
  19. </ヘッド>   

HTMLコメント

モジュールコメント

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!-- 記事リストモジュール -->   
  2. < div  クラス= "記事リスト" >   
  3. ...
  4. </div>   
  5. コメントをブロックする
  6. <!--
  7. @name: ドロップダウンメニュー
  8. @description: トップバーのドロップダウン メニューのスタイル。
  9. @著者: Ashu([email protected])
  10. -- >   

<<:  Webフロントエンドツール、Sublime Text 2の紹介

>>:  CentOS の起動時に RabbitMq ソフトウェアを自動的に起動する方法

推薦する

nginx + セカンダリドメイン名 + https サポートを使用する

ステップ1: Alibaba Cloudプライマリドメイン名にセカンダリドメイン名を追加する2 番目...

Nginxの現在の制限設定の詳細な説明

この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

MySQL 5.7.24 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、参考までにMySQL 5.7.24圧縮パッケージのインストールチュートリアルを紹介しま...

JavaScript で 9 グリッドのモバイル パズル ゲームを実装

この記事では、Jiugonggeモバイルパズルゲームを実装するためのJavaScriptの具体的なコ...

小規模プロジェクトで Vue が点滅するのを防ぐ方法

まとめHTML: 要素と v-cloak CSS: [v-cloak]{表示: なし}プロセスページ...

vue+echartsチャートの使用に関する問題記録

序文echarts は私が最もよく使用するチャート作成ツールであり、非常に完全なエコシステムとコンテ...

Mysql トランザクションで Update を実行するとテーブルがロックされますか?

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレー...

MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル (Win7 の場合)

Windows 7 で MySQL 5.7.17 をインストールする方法についてのグラフィック チ...

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...

MySQLの日付と時刻関数の使用の概要

この記事はMySQL 8.0に基づいていますこの記事では、日付と時刻の操作のための MySQL 関数...

CentOS 7.3 で Nginx 仮想ホストを設定する方法

実験環境最小限にインストールされた CentOS 7.3 仮想マシン基本環境を構成する1. ngin...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

MySQL に大量のデータを挿入するときに重複データを除外する方法

目次1. 問題を発見する2.重複したデータを残さずにすべて削除する3. 削除テーブルから重複データを...

Windows で MySQL データベースを別のディスクに移動する

序文今日、MySQL をインストールしたところ、データベース ストレージがデフォルトで C ドライブ...