• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:tdなどの閉じタグは省略しても問題ないか)

tdなどの閉じタグは省略しても問題ないか

このQ&Aのポイント
  • tdなどの閉じタグは省略しても問題ないケースがあるのか気になりました。
  • 省略した場合にレイアウトが崩れるブラウザや機能的な問題が発生するケースがあるか調査しています。
  • また、HTML5ではどのようになっているのかも知りたいです。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

HTML5 でどうなっているのか結構知りたいということであれば, 自分で調べてはどうでしょうか. 他人に聞くよりも確実だと思うのですが.... もちろん HTML5 そのものはまだ確定していないので, 今後変化する可能性があることは念頭に置く必要があります.

参考URL:
http://www.w3.org/TR/html5/syntax.html#optional-tags
pringlez
質問者

お礼

今まで私は、閉じタグが必要かどうかなどはDTDをみて判断していたのですが HTML5ではDTDがないとのことで何を参照していいのか分からない状態でした。 しかしご提示していただいたページではっきりと把握することができました。 HTML4系と同じで閉じタグは省略可となっているようですね。 「This is a work in progress!」とのことではありますが…。 参考になりました。ありがとうございました。

pringlez
質問者

補足

今回の質問を通して以下のことが分かりました。 ・HTML5でも省略可とされている ・省略するとブラウザの処理速度が向上する(IE8/FF/Chrome) ・ファイルファイズが小さくなり当然ネットワーク転送速度も速くなる ・閉じタグ可の要素が分からない人はとりあえず省略しないほうがいい ・遅くなるブラウザも昔はあったのかも(未確認) ・解釈のできないブラウザも昔はあったのかも(未確認) 皆さんありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

>・機能・レイアウト以外に省略しないほうがいい理由があるのでしょうか?あるならその理由を具体的に教えてください。 「このタグは省略できたかな、どうだったかな」と迷うぐらいなら「全部つける」にしておいた方がかえって楽。この質問のような悩みも生まれないわけです。

pringlez
質問者

お礼

なるほど。HTML初学者はとりあえずつけとけってことですね。 参考になりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

>強いて言うと「ブラウザに計算を強いること」という問題があるのですね。 >(ブラウザによるかもしれませんが)  ブラウザにとって、すごく負担になるのは確実です。そのためにXHTMLが推進された経緯があります。また、他のアプリケーションから再利用しにくいのも問題でした。いわゆる整形式ではないですから・・・。  一方で、タブ、改行など空白文字列を読み飛ばすのはまったく負担になりません。  そのために、私はHTMLであっても整形式で書くことにしています。特に長大なHTMLの場合、タブできちんとインデントさせれば、わかりやすいこと。テキストエディタで ^\t\t\t<td>([^<]*<td>$ と、探し出したりするのが簡単、機械的にできる。表の場合、いったんexcelで作成したCSVをPerlでtableに直すときも、処理が機械的に出来る。  とか・・・。  HTML5とHTML4に、このあたりについてはほとんど変わりがありません。新しい要素が追加されたこと。特に構造化を示すタグは要チェックですね。それもあり、数年前から <body>  <div class="header">  </div>  <div class="section">   ・・・と言う風にしてます。 ★HTML5 における HTML4 からの変更点 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/ )

pringlez
質問者

お礼

ありがとうございました。

pringlez
質問者

補足

# ブラウザにとって、すごく負担になるのは確実です とのことですが、この点が抽象的でわかりませんでした。 td要素5万のテーブルのレンダリングを実験してみましたが、 IE/FF/Chromeではすべてで省略したほうが速く処理できました。 下記の点を補足で教えてください。 ・根拠はなんですか?書籍?サイト?実績値?予想? ・閉じタグ省略時の負担について参考になる書籍・サイトの紹介など ・負担とは何ですか?処理時間?CPU使用率?メモリ使用量? ・負担になる処理は何ですか?レンダリング処理?DOMアクセス? ・「ブラウザ」とはなんですか?(種類やバージョンなど、あくまでも昔の話なのか今でも問題なのか) よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

なぜ省略してもよいかと言うと、 <td>に続いて、</tr>や<td>が来るはずないからです。それらが続いて現れれば、</td>が省略されているとみなされるからです。手で入力するときに楽だから。  DOM上では問題もあります。--HTML5では、そのようなときの解釈についても厳密に定義されますから問題ありませんが、それより前のHTMLでは、ブラウザによって解釈の違いがありえます。  ただ、現在省略可能となっている要素に関しては、問題ありません。ただ、ブラウザに計算を強いることですかね。  私は一切省略しませんが、それは、タグの閉じ忘れ出はなく、階層を忘れてしまうからです。 <table summary="section">  <tbody>   <tr>    <td>     <table>      <tbody>       <tr>        <td>        </td>       </tr>      </tbody>     </table>    <td>   </tr>  </tbody> </table>  なら、ミスしません。 ・省略するとレイアウトが崩れるブラウザがあるのでしょうか?あるのならブラウザ名・バージョンを教えてください。 ・省略すると機能的に問題が発生するケースがあるのでしょうか?あるのなら具体的な現象、ブラウザ名・バージョンを教えてください。  いずれも、ありません。それがブラウザに対する仕様でもありますから。問題は、誤ったマークアップのときの処理は異なると言うことです。(終了タグが省略可能な場合の省略は 誤っていません)、誤ったマークアップを防ぐためにきちんと閉じる癖をつけるということです。また、以前、HTMLは、HTML4.01が最後の仕様で、今後はすべてXHTMLになるとされていましたから、そうなると閉じる癖を付けておかなければ・・  しかし、世の中はHTML5に向かっています。HTML5では、合わせてXHTMLの仕様も加わりますから、XHTML構文を使用する場合は閉じなければなりません。 ※XHTMLは書くつもりはないのでこの質問の対象外としていいです  ですが、XMLから、XSLTを使ってXHTMLに変更するなど、手抜きのためにはXHTML(XML)も知っておいたほうが・・というか、XHTMLのほうが慣れれば作るのは楽ですね。

pringlez
質問者

お礼

レイアウト・機能的に問題が発生することはないとのことで安心しました。 ネット上では特に理由の記述なく「書いたほうがいい」とだけ書いてあるサイトがいくつかあったので。 強いて言うと「ブラウザに計算を強いること」という問題があるのですね。 (ブラウザによるかもしれませんが) # 以前、HTMLは、HTML4.01が最後の仕様で、今後はすべてXHTMLになるとされていましたから # HTML5では、合わせてXHTMLの仕様も加わりますから、XHTML構文を使用する場合は閉じなければなりません。 そうなんですか。今後のHTML5の仕様策定の動向を観察し考慮したいと思います。 # XMLから、XSLTを使ってXHTMLに変更するなど、手抜きのためにはXHTML(XML)も知っておいたほうが XSLTは多少使ったことがありますが、部分的な抽出に使ったことがあるくらいであまりダイナミックに使ったことはありません。 よく使うかどうかは、人によると思いますが今後検討したいと思います。 参考になりました。ありがとうございました。

pringlez
質問者

補足

<table summary="section"> <tr><td>   <table>    <tr><td><td><td>    <tr><td><td><td>   </table> </table> 私の場合こんな感じで書くことが多いです。 階層が少なくなり、またシンプルにコンパクトに書けるので。 コーディング基準に明記されてる場合でもない限りは自由なので 人によって好みが大きく分かれるところですよね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • システム識別子省略すると?

    システム識別子省略するとどのような変化がありますでしょうか? (1) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> (2) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> (1)が省略したものですがブラウザの表示方法が異なるそうなのですが どのような変化があるのでしょうか? また無難なのは省略しないほうがいいのでしょうか? こうゆう場合は(1)がいい、こうゆうケースが(2)が適切など そういった事もあれば教えてください

  • HTMLの属性値の省略について

    HTML4の仕様では、「checked」属性には「checked」という値を設定する(しなければならない)と取れる記述があります。しかし実際には、省略して記述しているページをよく見かけますし、また省略しても正しく解釈されるブラウザがほとんどです。これがHTMLの仕様なのか各ブラウザ独自の慣習なのかよく分かりません。 HTML 4 Document Type Definition http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/sgml/dtd.html ※言うまでも無いことかもしれませんが「checked」属性以外にも「disabled」「readonly」などいくつかあります。 また、XHTMLでは(当然)省略不可となっていましたが、HTML5ではどうなっているのかよく分かりません。 このあたりのことについて教えてください。 質問は以下です ・HTML4では属性値の省略について仕様として省略可と明記しているのでしょうか。それともなんとなく慣習でそうなってしまったのでしょうか? ・もしもHTML4の仕様として省略可とされているのならば、仕様書上の記述個所を教えてください。 ・HTML5ではどうなっているのでしょうか?まだ策定中とはいえ、さすがにこのレベルのことは議論が済んでいるように思います。省略可なのか不可なのか、仕様書上のどこかに記述されているのかまだ決まっていないのか、この点を教えてください。 ・HTML5のDTDがあればそれを教えてください 以上、よろしくお願いします。

    • ベストアンサー
    • HTML
  • index.htmlを省略してくるアクセスをリダイレクトしたい

    index.htmlを省略してくるアクセスをリダイレクトしたい お世話になっております。 ApacheのRedirect機能を持ちいて、 以下のように携帯キャリア毎に用意したindex.htmlファイルを外部サーバへと リダイレクトすることを目論んでいます。 ======================================================================= Redirect permanent /i/index.html http://www.hoge.co.jp/hoge/index.html ======================================================================= ところが、上記のように定義しても、http://www.example.jp/i/という風に、 index.htmlを省略してくるアクセスの場合、 http://www.hoge.co.jp/hoge/index.htmlにリダイレクトさせることができず、 200番の応答コードとともに、http://www.example.jp/i/index.htmlをApacheが返してしまっており 困っております。 http://www.example.jp/i/index.htmlと、 index.htmlを省略せずアクセスした場合には、 ちゃんと、301でhttp://www.hoge.co.jp/hoge/index.htmlへリダイレクトしてくれます。 また、同じApahceで必ずファイル名を省略せずにアクセスしてくるケースに対して、 たとえば、以下のように定義しているのですが、これも期待通りの動作となっております。 ======================================================================= Redirect permanent /i/xxxx.html http://www.hoge.co.jp/hoge/xxxx.html ======================================================================= ファイル名(index.html)を省略してくるアクセスをリダイレクトしたい場合、 どのように定義すれば期待通りの動作が得られるでしょうか。 リダイレクトの仕方は、ApacheのRedirectにこだわっていませんので、 何か実現可能な方法がありましたらどなたか教えて頂けますと大変助かります。 よろしくお願いいたします。

  • width="100%" で指定した場合のブラウザでちじめられた時の対処

    タイトルが意味不明になってしまってすいません。 <table width="100%"><tr><td> HTMLコード </tr></td></table> とするとブラウザにいっぱいに表示されます。しかしこの場合、ブラウザの大きさを小さくすると自動的に文字が動きブラウザの大きさ内に収まろうとしレイアウトが崩れてしまいます。 ブラウザのサイズが小さくなったときにレイアウトを崩さず、尚且つ100%で指定するにはどうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • 使えるタグ、使えないタグ、使わないほうがいいタグ…等

    タイトルの通り、使えるタグ、使えないタグ、使わないほうがいいタグ…等の違いを頭の中で整理することができません。 具体的に何で混乱しているかというと、 1、DOCTYPEスイッチで標準準拠にした場合は、color:fff;などの記述が無視されるだけで、htmlタグの使える使えないには関係がない…? 2、非推薦のタグは、使用することはできるが将来廃止になる可能性があるから、前方互換を考え使わないほうが良い…? 3、廃止タグは、使用することが出来ない。(記述しても無視される)…? 4、廃止タグを使った場合も、まだそのタグが廃止されていないころのブラウザを使えば問題なく使用可能…?(使用したいわけではなく、可・不可の問題で) 5、また、html5が話題になってきていますが、html5で廃止されたタグも現行のブラウザでは後方互換のため使用することが可能…? 6、html5では使えないが、ブラウザはhtml5にもhtml4.01等にも対応しているので使用ができる。という解釈で合っていますでしょうか? 7、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">などとしても、html5のタグが反応するのはどうしてなのでしょうか? 間違えている項目等、指摘していただければ幸いです。どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • 「/」を省略すると「www」の表示が消えるのはなぜ?

    教えてください。 初心者ですので、質問が的外れかもしれませんがご容赦ください。 会社のホームページを作成していますが、 IEのアドレス欄に http://www.○○○.co.jp/△△△/ と入力するとindex.htmlファイルが表示され、 アドレス表示も上記通りとなりますが、 最後の「/」を入力せず、 http://www.○○○.co.jp/△△△ と入力すると同様にindex.htmlファイルが表示され ますが、アドレス表示が、 http://○○○.co.jp/△△△/ と表示されます。 これは、なぜなのでしょうか? 設定や使い方等間違っているのでしょうか? OSのバージョン、ブラウザのバージョンは以下の通りです。 OS:WinXP Pro Version2002 SP2 ブラウザ:IE6.0.2900.2180

  • IE・NNの独自タグについて

    こんにちは。 HTMLについて、最近いろいろ考えるようになりまして。。。 IE・NNの独自タグ(以下、独自タグ)がありますよね。例えば<body>タグに使う「leftmargin」「rightmargin」、「marginwidth」「marginheight」など。 自分のウェブページがあって、古いブラウザーにも思う通りのレイアウト表示が可能であるよう、基本仕様として「HTML 4.01 Transitional」(システム識別子なし)でHTMLを書いています。 ところが、最近、「AnotherHTML」を知り、文法チェックを行った結果、「エラーですよ」といわれてしまいました。独自タグだから使うな、スタイルシートを使いなさい ということだと思います。 ここで、ボクが知りたいのは、 ■1■ 「HTML 4.01 Transitional」(システム識別子なし)で書く場合、独自タグを使ってはいけないの?  ■2■ エラーがいやだから、独自タグを全部取っ払って、スタイルシート対応させたらエラーは消えるかもしれないけど、「表示」のほうは大丈夫なの? 以上の2つです。 これといった基準がないようようには思いますが、詳しい方、ご意見を聞かせていただけますか。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • html5の基本的な書き方

    HTML初心者です 質問1 HTML5の要素を書くと古いブラウザ(ie7)などは表示できますか?とゆうかhtml5のタグは無視されるんでしょうか? 質問2 HTML5のセクショニング要素は書かなくても問題ないですか?例えばhtml4みたいにdivだけのレイアウトなどだとまずいでしょうか? 質問3 レイアウトを組む時にみなさんはどうやって組んでいますか?今もfloatで組むのが基本でしょうか? よろしくお願いします

    • ベストアンサー
    • HTML
  • DOCTYPE宣言のURLって何?

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> このDOCTYPE宣言ですが "http://www.w3.org/TR/html4/loose.dtd" が入っているのと入ってないのとで、若干表示に違いが出てくることがあります。今やろうとしていること(長くなるので省略)は、このURLを入れないほうが思った結果になるのですが、なんとなく漠然と「より厳密にHTMLの仕様を定義づける記述」だと思ってたので安易に削除してしまって良いものか躊躇しています。 べつに省略してもたいして問題ないとは思うんですが、そもそもこのURLって何なのですか?細かく取り決めみたいなのが書いてありますが、これを宣言に加えるか加えないかで表示に違いが出るということは、前半の !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" のさらに細密な定義ということなのでしょうか。そうだとしたら別の定義のURLもあるのですか? 詳しいことをご存知の方がおられましたら教えてください。 ※環境はXPpro SP2、エディターはHTMLproject2、ブラウザはIE6、FF1.5です。まあ見られる方の環境は様々なのでウチのを言っても詮無いことですが一応。

    • ベストアンサー
    • HTML
  • adobe Imageready7で

    書き出したHTML。スライスが多く存在するデータなんですが、Netscape7.1(WinもMacも)で表示すると、バラバラにレイアウトが崩れて表示されてしまいます。スライス書き出しには<table><tr><td>タグを使っています。他のブラウザは問題ないんですが、どうしてネスケだけバラバラに分解されて表示されるんでしょう?? どなたかご存知の方、お教え願います。