コードをセマンティックにする 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 ステートメントの概要

推薦する

Linux sar コマンドの使用方法とコード例の分析

1. CPU使用率sar -p (一日中表示) sar -u 1 10 (1: 1秒ごと、10: 1...

three.js で 3D ダイナミック テキスト効果を実現する方法

序文みなさんこんにちは。CSS ウィザードの alphardex です。以前、海外のウェブサイトを閲...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

VMware12 インストール centOS8 構成グラフィック チュートリアルの詳細説明 (vm 仮想マシン インストール centos8 チュートリアル)

数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...

Vueはコードのハイライトを実現するためにモナコを使用しています

Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...

CSS は Alibaba ベクター ライブラリを使用して、対応する位置に見栄えの良いアイコン効果をすばやく追加します (サンプル コード)

Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...

Nginx リバース プロキシから go-fastdfs へのケースの説明

背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

JavaScript で長い画像のスクロール効果を実装する

この記事では、JavaScriptの長い画像スクロールの具体的なコードを参考までに共有します。具体的...

2列のデータをSQLの新しい列として操作する

以下のように表示されます。 bb_sbからa1、a2、a1+a2 a、a1*a2 b、a1*1.0/...

Linux で FastDFS ファイル サーバーを構築するための実装手順

目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...

Tomcat で server.xml と content.xml を変更した後の自動復元の問題の解決方法

設定ファイルを server.xml と content.xml に書き込みます。サーバーを再起動す...

Vueのシンプルストアの詳しい説明

Vue におけるストアの最も単純な応用はグローバル ストレージです。ここでは、相互にジャンプするため...

CSS の一部のプロパティの前には「*」または「_」が付きます。

CSS の一部のプロパティの前には「*」または「_」が付きます。さまざまなブラウザを識別する例えば...