ページデザインにおけるテーブルとdivの適切な適用についての簡単な説明

ページデザインにおけるテーブルとdivの適切な適用についての簡単な説明
この記事の冒頭で、以前書いた入門記事の間違いを訂正したいと思います。初心者を再び誤解させないように、まずはより公式な声明を引用したいと思います。

<!DOCTYPE> 宣言は、HTML5 ドキュメントの最初の行、<html> タグの前に配置する必要があります。このタグは、ドキュメントがどの HTML 仕様を使用しているかをブラウザに伝えます。

doctype 宣言は HTML タグではなく、ページの作成に使用するマークアップのバージョンをブラウザに指示する命令です。

ブラウザがどのようなタイプのドキュメントを期待するかを認識できるように、すべての HTML ドキュメントで doctype を指定することが非常に重要です。

HTML 4.01 は SGML に基づいているため、HTML 4.01 の doctype には DTD への参照が必要です。 HTML 5 は SGML に基づいていないため、DTD を参照する必要はありませんが、ブラウザーの動作を規制するために doctype が必要です (ブラウザーが適切に動作できるようにするため)。

HTML 4.01 では 3 つの異なるドキュメント タイプがありましたが、HTML 5 では 1 つのみになります。

<!DOCTYPE HTML>

ドキュメント タイプを宣言する HTML5 タグは下位互換性があるため、HTML で HTML5 タグを使用していない場合でも、この宣言方法を使用できます。ただし、ページにいくつかの非互換性が生じるため、実際の状況に基づいて修正する必要があります。 <!doctype html> を使用すると、ブラウザはタイプ dtd を指定せずにページを厳密モード (標準モード) でレンダリングできます。

今日のメイントピックであるテーブルとdivの適切な適用についてお話ししましょう。

テーブルは初期のページデザインで広く使用されていましたが、インターネットの発展とともに、テーブルは徐々に廃止されました。現在、インターネット上の少数の古いウェブサイト(変更する必要のない有名なものがたくさんあります)だけが、依然としてテーブルを使用してページをレイアウトしています。現在、新しいウェブサイトは基本的にdiv + cssを使用してページをレイアウトしていますが、Webフロントエンドに不慣れな多くの友人は、テーブルを使用するとページが検索エンジンに不親切になるという幻想を抱いているため、リストを設計するときに常にdtやulなどのタグを使用します。これにより、ページ スタイルの設計に多くの時間を費やすことになりますが、検索エンジン最適化に対する実際の効果は非常に弱くなります。

多数のテーブルを使用することの主なデメリットは、検索エンジンに優しくないこと、そしてプログラマーにとっても非常に不親切であることです。ネストされたテーブルが多数あると、人々は混乱してしまいます。しかし、div と一緒に使用すると効果が得られ、その効果は dt や ul よりも優れている可能性があります。

別の問題は、多くのテーブルがあなたのページのセマンティクスを非常に悪いものにします。ページレイアウトは、スタイルを書く際に非常に正式な化場であることがわかります。テーブルのスタイルに記載されているように見えますが、ナビゲーションパーツを見ると、ページのスタイルが分離されている場合、CSSファイルを削除することができないことがわかります。

そこで、提案があります。ページをデザインした後、CSS スタイルを追加せずにデフォルトのスタイル レイアウトを直接記述し、ページに応じて CSS カスタム スタイルを追加します。この方が効率的ではないでしょうか? ハハ、試したことはないですが、そう思うだけです。

セマンティクスについては多くのコンテンツがあるので、ここではあまり多くは語りません。セマンティクスを非常にわかりやすく紹介している「高品質なコードの書き方 - Webフロントエンド開発の実践法」という非常に優れた本をお勧めします。ページレイアウトは経験を積むプロセスです。良いウェブサイトを見ると、そのページレイアウトから学ぶことができます。悪いウェブサイトを見ると、それを最適化する方法についても考えることができ、ウェブフロントエンドの道をより速く進むことができます。

不完全な詳細がある場合は、修正してください。ありがとうございます。

<<:  MySQL 8.0 WITH クエリの詳細

>>:  Dockerイメージを構築する2つの方法

推薦する

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...

Vue カプセル化 TabBar コンポーネントの完全なステップ記録

目次実装のアイデア:ステップ 1: TabBar と TabBarItem のコンポーネント カプセ...

Centos7 への mysql8.0rpm のインストール チュートリアル

まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...

Windows環境でのMySQL 8.0.13無料インストールバージョンの設定チュートリアル

目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...

MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ

MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...

Nginx リバース プロキシでセッション永続性を実装する 2 つの方法の詳細な説明

1. ip_hash: ip_hash は、送信元アドレス ハッシュ アルゴリズムを使用して、サーバ...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

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

Linuxを学び始めるときは、まずLinuxの標準ディレクトリ構造を理解する必要があります。 / r...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

JavaScript は、シンプルな虫眼鏡の最も完全なコード分析を実装します (ES5)

この記事では、参考までに、シンプルな虫眼鏡を実装するためのJavaScriptの具体的なコードを紹介...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...

MySql8.023 インストール プロセスの詳細なグラフィック説明 (初回インストール)

まず、MySQL公式サイトからインストールパッケージをダウンロードします。MySQLはオープンソース...

組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。新しいバージョンの APP...

MySQLインデックスとは何ですか?わからない場合は聞いてください

目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...