• ベストアンサー

終了タグは省略可?

べたうちでHTML言語を使っています。 前の質問で<P>タグの</P>は省略可能と回答があります。 <div>や<ul>でも省略できるでしょうか? 今のIEを使っていて正常に表示されています。 他のものでは誤作動を起こしているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

http://www.w3.org/TR/html4/index/elements.html このタグ一覧のEnd Tagの項目が O になっているものが省略可能です。 ちなみにFは<img>や<br>などのように、終了タグがなく開始タグだけで使用する物です。 それ以外(空白の物)は必須です。 XHTMLで記述するときは全て必須ですが、 HTML4で"F"だったものは、<img></img>と書いても<img/>と書いてもかまいません。 前者の書き方は古いブラウザで<img>が2つあると見なすこともあるため、非推奨となっています。 >今のIEを使っていて正常に表示されています。 >他のものでは誤作動を起こしているのでしょうか? 可能性はあります。 省略可能なタグでも、ブラウザごとに解釈が違う物もあります。 <p><table>(略)</table> という書き方については、</p>の省略位置の判断の仕方が違うことがあり、 <p><table>(略)</table></p> と見なすブラウザと <p></p><table>(略)</table> と見なすブラウザがあります。 (HTML4では後者が正しく、DHTMLでは前者が正しい。(と思われる。HTML同様にDHTMLもいくつかのバージョンがあり、違いがあるかもしれません。) 互換モードはHTML4に準拠する物と、DHTMLに準拠する物が様々なため、どちらで表示されるかはブラウザ依存。) また、省略不可能なタグを利用した場合にも、ブラウザごとに解釈が違う物もあります。 <p><span><table>(略)</table></span></p> この場合、 省略不可な</span>が記述ミスにより省略されたと見なし、 <p><span></span></p><table>(略)</table><p><span></span></p> このように表示するブラウザがあります。 また、省略不可のタグは省略不可のままとして、 <p><span><table>(略)</table></span></p> 書いて有るとおりに表示するブラウザもあります。 これらの違いはスタイルシートやJavaScriptを使用したときに如実に表れますが、 そういう機能を使わなければ、表示の違いが現れることはないと思います。

hunbet
質問者

お礼

詳細な回答、ありがとうございます。 難しいですが、すこしずつ勉強します。

その他の回答 (4)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.5

答えは2つです。 ひとつは、(x)htmlのバージョン、互換方法によっては、終了タグが省略可能になる場合があること。詳細は他の回答者さんのリンクが参考になります。もうひとつは、文法の正誤に関わらず、省略できるブラウザとできないブラウザがあること。です。 正しい文法で書くことは重要ですが、実際のところは、複数のブラウザで表示を確認し、それぞれの挙動に慣れるしか方法がありません。とくにIEは文法を裏切るかなりの問題児で知られています。質問者さんがどういったレベルでホームページをつくられているか分かりませんが、最低でもIE、Safari、Firefox、Opera、Chromeの最新バージョンでの確認はしたほうがよいと思います。各ブラウザをインストールするだけなので、そんなに難しい話ではないはずです。

hunbet
質問者

お礼

ありがとうございます。 趣味で、自分が見る程度のHPです。 →最低でもIE、Safari、Firefox、Opera、Chromeの最新バージョンでの確認はしたほうがよいと思います。各ブラウザをインストールするだけなので これだけはやろうと思います。 参考になりました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

確かにHTMLは、ルールに従っていれば、終了タグの省略、さらには開始タグも省略してもゆるられます。<body>が無くても文法違反にならないケースもあります。 (※知ってるでしょうけど、XHTMLでは省略できません)  でも、このルールを考えながらマークアップするのは、かえって面倒です。ですから明らかに自明な単純なケース以外省略しない方がよいです。  例えば、<select>下の<option>られつなんか、</option>を書かないほうが見やすいですよね。 (参考)省略TAG機構 http://bakera.jp/html/sgml/omittag.html http://www1.u-netsurf.ne.jp/~7l1rll/SGMLsec6_0.html#3_1

hunbet
質問者

お礼

ありがとうございました。 HTMLとXHTMLの違いがわかりました。

  • otaku37564
  • ベストアンサー率38% (1158/3005)
回答No.2

どんなページを作っているかはわかりませんが <div>タグを閉じなければ 永遠にそのタグの設定を引き継いでしまうと思いますけど? パディングも何もあったもんじゃないものが出来ますね。 DIV要素を並べる必要のないほど単純なページでしょうか? IE以外で見たらとんでもない方向に文字が羅列しているページになりそうですね。 プロの仕事なら絶対にしません。互換性がなくなりますから。

hunbet
質問者

お礼

回答してくださったことには、お礼を申し上げますが。 あなたの回答は参考になりません。 →ページになりそうですね。 そんな憶測でものを言ってるあなたもプロじゃないでしょ?

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

IEはHTMLエラーを勝手に補完しますから、「IEで意図通りに表示されるからHTML記述として正しい」とは言えません。 むしろ「HTML通りに表示しない」だけたちが悪いとも言えます。 IE9ではこの機能がなくなるという話もあるので閉じタグは付ける癖を付けておいた方がいいでしょう。

hunbet
質問者

お礼

ありがとうございました。 IEの性質がよくわかりました。

関連するQ&A