HTML doctypeを使用してWebページの一部をXHTMLで記述することに問題はありませんか?

StackOverflow https://stackoverflow.com/questions/1040969

  •  22-07-2019
  •  | 
  •  

質問

HTML / CSSの学習を始めたばかりで、自分自身でWebプログラミングの適切な実践を学ぼうとしています。私はXMLに精通しているので、XHTMLでWebページをコーディングするのは十分に直感的で、やるべきことのように思えました。しかし、私はこれ そして今、私はあいまいです。

HTMLとXHTMLのいずれかでのコーディングに関する私の懸念は、以下に起因します。

  1. imgタグはHTMLで閉じる必要はなく、それは私にとって理にかなっています。ただし、XHTMLでは、imgタグにはクローズタグが必要です。間に開いたタグと閉じたタグのペアが存在しないのは奇妙だと思います。
  2. pタグ(段落のように)は、HTMLで閉じる必要はありません。 XHTMLの場合のように、開始タグと終了タグの間の段落を区切ることは理にかなっています。

これらは現時点で私が思いつくことができる唯一の基本的な例ですが、少なくともHTMLとXHTMLがどのように分かれているかを示したいと思っています。だからここに私の実際の質問があります:(HTML DTDを使用して)HTMLであるべきWebページをコーディングしているときにXHTMLコードを投げても大丈夫ですか?ウェブサイトは同じように見えるはずですが、人々が私のソースを見ると、彼らは私がひどくプロではないコーダーだと思うでしょうか?

また、サウンドウェブプログラミングの実践について、Googleを介して盲目的にチュートリアルやガイドに目を通しているので、皆さんにアドバイスやリソースがあれば教えてください。私はこれを正しい方法で行う方法を学んでいることを本当に確かめたいです。本当にありがたいです。

読んでくれてありがとう!

編集:うわー、このような高速応答。あなたたちは素晴らしいです!ですから、この種のことになると、Webブラウザーはかなり寛大になることを理解しています。私の問題は、虚栄心の問題であり、XHTMLとHTMLの一種のミックスを書くことについて他の専門家がどのように感じるかです。厳密に準拠したコードを使用する方法はありますか?正直言って、馬鹿みたいに見えたくないだけですよ。

役に立ちましたか?

解決

  

imgタグはHTMLで閉じる必要はありませんが、   それは私には理にかなっています。

タグを閉じる必要はありません。すべての要素を閉じる必要があります。

ほとんどの要素は、開始タグ、一部のコンテンツ、終了タグで構成されています。

画像要素にはコンテンツを含めることができないため、終了タグは不要です。 HTMLでは、コンテンツを持つことができない要素(<!> quot; EMPTY elements <!> quot;)には終了タグが禁止されています。

  

ただし、XHTMLでは、imgタグにはファンキーなような終了タグが必要です。

XHTMLはSGMLアプリケーションではなくXMLアプリケーションであり、XMLにはSGMLが行うすべての機能がありません<!>#8212;終了タグが禁止されていることを指定する機能が含まれます。

  

開始タグと終了タグのペアを間に何もない状態にするのは奇妙だと思います。

XMLは、新しい種類のタグ<!>#8212を導入します。開始タグと終了タグの組み合わせとして機能する自己終了タグ(<foo />)。

HTML互換のXHTML(XHTMLの使用を選択し、その言語をサポートしていないブラウザーをサポートする場合に必要です<!>#8212; Internet Explorerなど)の場合、 その構文を使用する必要があります。 (自分でHTMLに固執することを好みます)

  

pタグ(段落のように)はHTMLで閉じる必要はありませんが、それは私にとって面白いです。

HTMLの多くの要素には、オプションの終了タグがあります。これにより、暗示できる場合に終了タグを省略することができます。

例:

<p>Hello, world
<p>A second paragraph

p要素には別のp要素を含めることができないため、新しい段落を開始すると前の段落が閉じられることを(100%の信頼性で)暗示できます。

とはいえ、これらはオプションであり、禁止されていません。本質的に空ではない任意の要素に対して、明示的な終了タグを使用してHTML 4.01を記述できます。

  

XHTMLコードを投げても大丈夫ですか   (適切だと思うとき   私がコーディングしているとき)   HTMLである必要があるWebページを作成する   (HTML DTDを使用)?きっと   ウェブサイトは同じように見えますが、   人々は私の情報源を見て、   彼らは私がひどく思ったと思いますか   プロではないコーダーですか?

見栄えが悪くなります。

とはいえ、XHTML構文がHTML構文に準拠していない場合は3回しかありません。

空の要素 <!>#8212; <img><br>などは、XHTML <!>#8230で明示的に閉じる必要があります。しかし、あなたはその構文が好きではないと言った。

スクリプトとスタイル <!>#8212; XHTMLの埋め込みJSおよびCSSで特定の文字を使用する場合は、文字参照またはCDATAマーカーを使用する必要がありますが、これらの要素はHTMLのDTDでCDATAとしてマークされているため、これは間違っています<!>#8230;ただし、埋め込みスクリプトやスタイルは使用しないでください。

ネームスペース <!>#8212;しかし、HTMLドキュメントの途中でXML名前空間を使用すると、何かを明確にすることに近づかないときがあります。

他のヒント

HTML 5ではXHTML構文を使用できます。

すべてのブラウザを標準モードにプッシュするHTML 5 Doctypeの使用を開始できますが、HTML 5の新機能は一部のブラウザでのみサポートされていることに注意してください。

Webハイパーテキストアプリケーションテクノロジーワーキンググループ

  

/ <!> gt;で空の要素を閉じる必要があります。または<!> gt;?

     

HTMLの無効な要素(br、img、input要素など)には、末尾のスラッシュは不要です。例えば<br />と書く代わりに、<br>と書くだけです。これはHTML 4.01と同じです。ただし、XHTML 1.0を使用しようとする広範な試みにより、末尾のスラッシュを使用するページがかなりの数になります。このため、XHTML 1.0からHTML5への移行を容易にするために、HTMLのvoid要素で末尾のスラッシュ構文が許可されています。

非常にシンプルなHTML 5 Doctypeは次のようになります。

<!DOCTYPE html>

そのため、自己終了タグを使用して標準に準拠したHTMLを作成すると、 HTML 5バリデータに対して検証します。業界はXHTML2よりもHTML5を採用することを広く選択しているため、新しいプロジェクトにXHTMLを使用することはお勧めしません。


編集:明確化のポイントとして、現在HTML 5 Doctypeを使用しても安全です。また、HTML 5は業界のサポートを前提としてXHTML 2に広く採用されると想定しても安全です。確かにHTML 5ドキュメントを作成できますが、<canvas>などのHTML5の機能の多く(Silverlightと競合するためMSのサポートが特に不足している)は、クロスブラウザーサポートを持たず、変更される可能性があります。

ほとんどすべてのブラウザが正しくレンダリングするという意味で「大丈夫」ですが、それは、それらが不正なHTML / XHTML / XML /何でも処理するために構築されているからです。ただし、宣言されたdoctype(この場合はHTML DTD)と一致しない要素は、コードの検証を妨げ、技術的には不正な形式になります。

一方、大部分のWebサイト(正しく表示されるWebサイトでも)は検証されないため、大きな問題ではありません。 (厳密な)XHTMLに固執します。自己終了タグに関するjimrのコメントに注意してください(例:<img src="foo" />)。

いいえ、大丈夫ではありません。理論的には、少なくとも。 HTMLドキュメントにXHTML構文を記述した場合、それは無効です。ほとんどの場合、ブラウザは同じようにレンダリングしますが、それでも無効です。さらに、XHTMLで有効でHTMLで無効なのは、自己終了タグ(<br />)だけです。 HTMLでタグを閉じる必要がないため、タグを閉じることができないわけではありません。このようなマークアップを書くことができます:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo. Quisque posuere nisl ac libero dictum posuere. Suspendisse in magna neque. Donec et vestibulum sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at nulla dui.</p>

<img src="" alt="">

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo.</p>

参照?これは有効なHTMLであり、見栄えが良いです。

ところで:これを読む

<DOCTYPE>はSGMLからの残りであり、ドキュメントの上部に1回だけ表示されます。ドキュメント内に他のDOCTYPE宣言を追加すると、HTMLとXHTMLの両方に違反しますが、ほとんどのブラウザはおそらくあなたを許します。

ページで両方を使用する必要がある場合、IFRAMEには定義により別のウィンドウ/ドキュメントコンテキストが格納されるため、ネストされたドキュメントをIFRAMEに配置する方が標準と一貫性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top