コードをセマンティックにする HTML のヒント

コードをセマンティックにする HTML のヒント

HTML のセマンティクスはありふれた問題のようです。Google で検索すると、セマンティクスに関する記事がたくさん見つかります。なぜセマンティック タグが必要なのでしょうか。HTML の各タグにはそれぞれ特定の意味があり、セマンティクスとは、適切なタグを適切な場所で使用することであり、人間と機械 (機械はブラウザーと検索エンジンとして考えることができます) が一目で理解しやすいようにすることを意味します。私の説明がわかりにくい場合は、Google で検索してください。

適切なラベルを適切な場所で使用するにはどうすればよいでしょうか?

これは単純な理解の論理です。例えば、h1~h6 タグはタイトルに、ul は順序なしリストに、ol はコンテンツ付きリストに、dl はリストの定義に、em と strong タグは強調に使用します... 端的に言うと、HTML タグのそれぞれの英語の解釈によって、そのセマンティクスが決まります (この記事の後半で、よく使われる HTML タグの英語の解釈の比較表を参考として掲載します)。

人間と機械の両方にとって明らかなことは何でしょうか?

HTML ページがセマンティックかどうかを確認する最良の方法は、ページから CSS リンクを削除して、ページ構造が適切かどうか、またページがまだ読み取り可能であるかどうかを確認することです。なぜそう言えるのでしょうか? ブラウザにはデフォルトのスタイルがあることは誰もが知っています (Chrome の Web 開発者ツールを使用することをお勧めします)。  プラグイン、またはFirefox Web Developer  たとえば、h1~h6 には、太字/縮小フォント サイズ、上下の余白、ul、ol、dl にはデフォルトの箇条書き、strong にはデフォルトで太字スタイルなどのデフォルト スタイルがあります... したがって、同じページの場合、ページ CSS が削除されても、意味的に整形式の HTML は引き続き適切に機能します。

もう 1 つのポイントは、適切なセマンティック コーディングは検索エンジンにとってより使いやすいということです。検索スパイダーは CSS を認識しませんが、HTML タグは認識できます。

以下に簡単な例を示します。

未語義化語義化后的效果差異

コードをコピー
コードは次のとおりです。

<!--意味不明-->
<div id="ヘッダー">
<div class="h1">Mr.Think のブログ</div>
<div class="h2">Web フロントエンド テクノロジーに重点を置き、PHP を愛し、シンプルな生活を提唱しています。</div>
</div>
<!--セマンティクス化後-->
<div id="ヘッダー">
<h1>Mr.Thinkのブログ</h1>
<h2>Web フロントエンド テクノロジーに重点を置き、PHP を愛し、シンプルな生活を提唱しています。</h2>
</div>

上記の簡単な例と、CSS 定義のない効果図から、2 つの違いを理解できるはずです。Html5 を学習している場合、ヘッダー、フッター、サイドバー、記事などの要素はすべて新しく追加されたセマンティック タグです。
HTML コーディングのセマンティック化は、高品質のフロントエンド開発への第一歩です。Web 標準への準拠が向上し、スタイルを削除した後もページが整然とした状態を保つことができます。セマンティック化のより詳しい紹介については、Google で検索するか、Adam の「Web フロントエンド開発の実践方法」をお読みください。  第3章。
付録: 中国語と英語のタグ意味の比較表

タグ名英語の綴り中国語翻訳
1つのアンカーアンカー
略語略語略語
頭字語頭字語略語
住所住所住所
b大胆な大胆な
大きい大きい大きくなる
引用ブロックブロック引用参照ブロック
br壊す改行
キャプションキャプションタイトル
中心中心中心
dd定義説明定義の説明
デル消去消去
分割分割分離
ダウンロード定義リスト定義リスト
dt定義用語用語の定義
それら強調した悪化
フィールドセットフィールドセットドメインセット
フォントフォントフォント
h1〜h6ヘッダー1〜ヘッダー6タイトル1~タイトル6
時間水平線レベル
イタリックイタリック
イン挿入された入れる
伝説伝説アイコン
リスト項目リスト項目
オール順序付きリスト並べ替えリスト
p段落段落
フォーマット済み定義済みフォーマット
s取り消し線取り消し線
小さい小さい小さい
スパンスパン範囲
強い強い悪化
サブ下付き下の表
すする上付き上付き文字
あなた下線付き下線
ウル順序なしリスト未ソートリスト
var変数変数

以下を付け加えておきます

1. HTML セマンティクスとは何ですか?

適切な HTML タグを選択すると、開発者はより洗練されたコードを読み書きしやすくなり、ブラウザのクローラーやマシンはコードを適切に解析できるようになります。

2. なぜセマンティクス化なのか?

CSS がなくてもページをそのままの状態で見栄え良くするために、ページは適切なコンテンツ構造とコード構造を示すこともできます。
ユーザーエクスペリエンス: たとえば、title と alt は名詞や画像情報を説明するために使用され、label タグは柔軟に使用されます。
SEO に最適: 検索エンジンとの良好な通信を確立すると、クローラーがより有効な情報を取得できるようになります。クローラーはタグを使用して各キーワードのコンテキストと重みを判断します。
他のデバイス (スクリーン リーダー、視覚障害者用リーダー、モバイル デバイスなど) による解析を容易にし、Web ページを意味のある方法でレンダリングします。
チーム開発とメンテナンスを容易にし、セマンティクスをより読みやすくすることは、Web ページの次のステップにおける重要なトレンドです。W3C 標準に従うチームはすべて、差異を減らすためにこの標準に従います。

3. HTML コードを書くときに注意すべきことは何ですか?

1. div や span など、意味的に無意味なタグはできる限り使用しないでください。
2. セマンティクスが明らかでない場合、div または p のどちらかを使用できる場合は、p を使用するようにしてください。p はデフォルトで上下のスペースを持っているため、特殊な端末との互換性に役立ちます。
3. 純粋なスタイル タグや、仕様でサポートされていないタグ (b、font、u、center、strike、menu など) は使用しないでください。代わりに CSS 設定を使用してください。
4. 強調する必要があるテキストは、strong タグまたは em タグに含めることができます (ブラウザのデフォルト スタイルです。CSS で指定できる場合は使用しないでください)。strong のデフォルト スタイルは太字 (b は使用しないでください)、em は斜体 (i は使用しないでください) です。
5. 表を使用する場合は、タイトルには caption、ヘッダーには thead、本文には tbody、フッターには tfoot を使用します。表のヘッダーと一般セルは区別する必要があり、表のヘッダーには th を使用し、セルには td を使用します。
6. フォーム フィールドは fieldset タグで囲み、フォームの目的は legend タグで説明する必要があります。
7. 各入力タグに対応する説明文はラベルタグを使用する必要があり、入力にid属性を設定し、ラベルタグにfor=someldを設定することで、説明文を対応する入力に関連付けることができます。
8. 特定のタグの属性を省略しないでください。<img> タグの alt 属性は、画像が正常に表示できない場合に代替テキストとして使用されます。<a> タグの title 属性は説明情報として使用でき、マウスをホバーするとプロンプトメッセージが表示されます。

Yahoo からのインタビューの質問:

<P> 私が書くのはHTMLではなく、孤独です。 <br><br> 私は言った:<br>私に執着しないで、私はただの伝説よ

問題には次のようなものがあります:

1. html と xhtml 標準の違いは、xhtml は厳密な構造を持ち、タグは閉じる必要があり、単一のタグは末尾に / を追加して閉じる必要があり、タグは小文字でなければならないことです。
2. 構造とスタイルの分離。スタイルを制御するために <br/> を使用しないでください。構造を合理的に設計します。改行するには各段落に p を追加します。スタイルは CSS を使用して実装する必要があります。
3. タグを合理的に使用し、タグの意味に注意してください。略語は <abbr> でマークでき、「I」は <cite> でマークでき、引用されたスピーチの内容は <q> でマークできます。

//コード参照は以下のとおり
<p>私が書いているのは <abbr title="Hypertext Markup Language">HTML</abbr> ではなく、孤独です。 </p>
<p><cite>私は</cite>こう言いました: <q>私に執着しないでください。私はただの伝説です</q></p>

上記は、コードをセマンティック化する HTML テクニックの詳細な内容です。HTML セマンティック化の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

<<:  Nodeはバックエンドの実装手順を素早く構築します

>>:  MySQL ステートメントの概要

推薦する

FTP、FTPS、SFTPの違いについて簡単に説明します

目次FTP、FTPS、SFTP の概要FTP FTPS FTPサーバーFTPソフトウェアのアクティブ...

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してくださいlin@lin-仮想マシン:~$ uname ...

HTML ブロックレベルタグとインラインタグの違い

1. ブロックレベル要素: 独立して存在できる能力を指します。通常、ブロックレベル要素は改行によって...

element.style インライン スタイルを変更する方法のチュートリアル

序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...

MySQL と接続関連のタイムアウトの詳細な概要

MySQL と接続関連のタイムアウト序文:今日、同僚から、データ量が多いときに MySQL データベ...

Node.js の非同期ジェネレータと非同期反復の詳細な説明

序文ジェネレーター関数は、async/await が導入される前から JavaScript に存在し...

mysqlパラメータsql_safe_updatesを使用して更新/削除範囲を制限する方法の詳細な説明

序文皆さんご存知のとおり、MySQL の運用・保守において、更新/削除条件が誤っているためにデータが...

Centos7 システム上の nginx サーバーで Phalcon 環境を構築する方法の詳細な説明

この記事では、centos7 システムの nginx サーバーの下に phalcon 環境を構築する...

docker ログ - docker コンテナ ログの実装を表示します

docker logs コマンドを使用してコンテナ ログを表示できます。コマンド形式: $ dock...

MySQL の on と where における左結合設定条件の使用法の違いの分析

この記事では、MySQL の左結合における on 条件と where 条件の使用法の違いを例を使って...

JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...

CSS により、子コンテナが親要素を超えます (子コンテナは親コンテナ内で浮動します)

序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...

Dockerコンテナの個別展開のためのLNMPの実装

1. 環境整備各コンテナの IP アドレス: nginx: 172.16.10.10マイSQL: 1...

MySQL統計データテーブルの設計方法

目次リアルタイム更新は必要ですか?マテリアライズド ビュー ツール (Flexviews)カウントテ...

TypeScript 環境を構築して VSCode にデプロイする詳細な手順

目次TypeScript環境の構築ステップ1: Taobaoミラーをダウンロードするステップ2: T...