XHTML チュートリアル: Transitional と Strict の違い

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTYPE の 2 つのタイプ (Frameset DOCTYPE が含まれている場合は 3 つになりますが、これについてはこの記事では説明しません) に分かれています。 HTML 4.01 にも同じドキュメント宣言があります。
今日、Web 標準を推進する人たちは、XHTML は HTML よりも厳格であると言うことがよくあります。もちろん、ある意味ではそうです。たとえば、すべてのタグを閉じ、すべての属性を引用符で囲む必要があります。しかし実際には、XHTML 1.0 は Transitional DOCTYPE と Strict DOCTYPE の 2 つのタイプ (Frameset DOCTYPE が含まれる場合は 3 つ、この記事では説明しません) に分かれています。 HTML 4.01 にも同じドキュメント宣言があります。

意味は文字通りの名前からわかります。Transitional DOCTYPEs は旧時代から新時代への移行のみを対象としており、Strict DOCTYPEs は HTML 4.01 および XHTML 1.0 の構築に適用可能なデフォルトのドキュメント宣言です。
コードには古い記述方法が多すぎるため、一度に Strict DOCTYPE に完全に変換することが難しいため、一般的に Transitional DOCTYPE が使用されます。しかし、厳密な DOCTYPE が目標となるはずです。構造とプレゼンテーションを分離し、プレゼンテーション コードを CSS で記述することが推奨され、場合によっては強制されることもあります。 HTML 4 ドキュメントタイプ定義:

この HTML 4.01 Strict DTD には、プレゼンテーション レイヤーの属性とタグは含まれていません。W3C は、これらの属性とタグを段階的に廃止する予定です。これらを実装するには、スタイル シートを使用できます。 Strict DTD を使用する必要があります。プレゼンテーション属性とタグのサポートを得るには、Transitional DTD を使用します。

Strict DOCTYPE を使用すると、ブラウザにページを最も厳密かつ (ある程度) 最も標準に準拠したモードでレンダリングするように指示できるという追加の利点があります。
Tommy Olsson 氏は、Web Standards Group の Tommy Olsson 氏への 10 の質問で、Strict を使用する利点を詳しく説明しています。

HTML 4.01 Strict であろうと XHTML 1.0 Strict であろうと、Strict DTD を使用することは、HTML を使用するか XHTML を使用するかを議論することよりもはるかに重要だと思います。それは将来のインターネットの品質を表しています。構造とプレゼンテーションを分離することで、サイトのメンテナンスが非常に簡単になります。

Web 標準と適切なセマンティック構造を初めて知る人にとって、Transitional DOCTYPE と Strict DOCTYPE の違いを認識することは重要です。より詳細なリストについては、「XHTML: Strict と Transitional の違い」、「Strict XHTML と Transitional XHTML の比較」、および「DTD による XHTML1.0 要素属性」を参照してください。
Strict に移行する準備ができている人にとって、開発者が間違いを犯す可能性のある 2 つの違いがいくつかあります。これについては次に説明します。 Strict DOCTYPE でサポートされていないタグ center font iframe srike u Strict DOCTYPE でサポートされていない属性 align (table 関連でサポート: col、colgroup、tbody、td、tfoot、th、thead、tr) language background bgcolor border (table でサポート) height (img と object でサポート) hspace name (HTML 4.01 Strict でサポート、XHTML 1.0 Strict の form と img ではサポートされていない) noshade nowrap target text、link、vlink、alink vspace width (img、object、table、col、colgroup でサポート) コンテンツ モデルの相違点 要素タイプのコンテンツ モデルは、その要素タイプのどのようなインスタンスを含めることができるかを説明します。この点において、2 つのドキュメント宣言の最大の違いは、blockquote、body、および form 要素には次のようなブロック レベル要素のみを含めることができることです。テキストと画像は body に直接含めることができず、p や div などのブロック レベル要素によって含める必要があります。入力要素は、form 要素の次のレイヤーに直接含めることはできません。blockquote 要素内のテキストは、p や div などのブロック レベル要素によって含める必要があります。すべてのプレゼンテーションを CSS に任せ、Strict 標準に準拠します。Strict DOCTYPE への移行プロセスでは、各要素がどのように見えるかを知るよりも、各要素が何をするのかを理解する方がはるかに効果的です。
まず構造とセマンティクスについて考え、次にパフォーマンスについて考えます。

<<:  Vueはデジタル千単位区切り形式をグローバルに実装します

>>:  一般的な nginx コマンドをシェル スクリプトに組み込む方法の詳細な説明

推薦する

CSSレイアウトにおけるフロート属性と位置属性の違い

CSS レイアウト - position プロパティposition 属性は、要素に適用する配置方法...

JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

<br /> 第 1 部と第 2 部では、Web サイトのパフォーマンス、ページ コンテ...

Vueスロットの詳細な説明

1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...

計算機機能を実現するjsバージョン

この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...

HTMLページでチェックボックスを操作する方法

チェックボックスは Web ページで非常によく使用されます。e コマースの Web サイトでもプラッ...

JavaScriptエラーキャプチャの詳細な説明

目次1. 基本的な使い方とロジック2. 特徴3. エラーオブジェクト4. キャッチアンドスロー戦略の...

JavaScript 日付ツールの概要

ユーティリティ = { /** * 死亡年ですか? * @return {Boolse} true...

Nginx_geo モジュールを使用して CDN スケジュールを設定する方法

NginxのGeoモジュールの紹介geo ディレクティブは、ngx_http_geo_module ...

ウェブサイトメンテナンスページのリスト構築のヒント

また、多くの場合、メンテナンスのために Web サイトを少なくとも数分間オフラインにする必要がありま...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...

MySQL の遅いクエリ操作の例の分析 [有効化、テスト、確認など]

この記事では、MySQL のスロー クエリ操作について例を挙げて説明します。ご参考までに、詳細は以下...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

MySQL innodb例外の修復に関する経験の共有

テスト用の MySQL ライブラリのセット。以前使用されていたバージョンは、centos6 のデフォ...