• ベストアンサー

HTMLのネスト

HTMLのネストというのは可能なものでしょうか? (例) <html> <head></head> <body> <p>aaa</p> <html> <head></head> <body> <p>bbb</p> </body> </html> </body> </html> 可能かどうか?ということと、実際にこのようなやり方はすることがあるものかどうか? ということを教えてほしいです。 #私自信はNGという答えを出しましたが、IEだと表示できてしまうので・・・・・経験覆い方にお尋ねしてみようと思い投稿しました。

  • HTML
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

HTMLの文法に対して厳密な意見をいえるような者 じゃないのですが よくHTMLの先頭に <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> とか書いてあると思うのですが、このように文書が定義されている時には、あるタグがネストできるかどうかということは規定されているので、そういう意味で文法違反になると思います。 逆に言えばそういう規定が無い場合自由ですが、それをいっちゃあ始まらんですよね。 例えば、この文書がXMLだとしてこういう書き方を許すDTDを規定したなら良しとしてもいいのでしょうけど。

その他の回答 (2)

回答No.2

Wizard_Zeroと申します。 HTML3.2の規格ではNGです。 HTMLのネストがなぜ必要なのかが分かりません。 ちなみに、IEはどんなタグの書き方をしても、とにかく表示します。 参考までに: 出力後の結果を見るとBODYの中身が以下のようになりました。 <P>aaa</P><P>bbb</P>

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.1

HTMLの文法違反です。 本来、こういう書き方をしてはいけません。 ただ、ブラウザ側では多少の文法違反は許容してしまうので、一見正常に見えるわけです。 # 個人的にはIEの「許容度」はかなり高いように思う

関連するQ&A

  • HTMLでUniCode表示?

    シフトJISエンコードのHTMLを下記のように作成して、 IE5.5で表示すると、正常に表示されるのですが、 なぜ表示されるのか、分かりません。 IE側のエンコードもシフトJISになっているのに、 どうして、⑴ の部分がUnicodeの9332番の 文字((1))を呼び出すのでしょうか? わかりにくい質問になってしまいましたが、 よろしくお願いします。 <html> <head> <title>TEST</title> </head> <body> あああaaa⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⒇あああaaa </body> </html>

    • ベストアンサー
    • HTML
  • HTML5について

    前回質問したのですが解決せず、日にちがだいぶたってしまったので、 再度質問させて下さい。 IE8以前にに新しい要素を認識させる方法として <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> があると知ったのですが、 これを<head>内に記述すると、当然きちんと認識されるのですが、 画面を見た時に一番上に<!--[if lt IE9]> <![endif]--> と表示されてしまいます。 ・・・この文字は消せないのでしょうか? 使用しているブラウザはIE8とIE6です。 【HTMLソース】 <!DOCTYPE html> <html> <head> <!--[if lt IE9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link rel="stylesheet" type="text/css" href="style_html.css" /> <link rel="stylesheet" type="text/css" href="style.css" /> <meta charset="shift_jis" /> <title>HTML5</title> </head> <body> <h1>HTML5</h1> <section> <h2>タイトルなんちゃら</h2> <p>あけましておもでとうございます。今年もよろしくお願い致します。</p> </section> </body> </html> ・・・・・・どこが間違っているのか分からず困っています。 ご指摘どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • HTML文法

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title></title></head> <body> <dl> <dt>aaa <dt>aaaa <dt>aaaaa </dl> </body> </html> のdl~が http://openlab.ring.gr.jp/k16/htmllint/htmllint.html で間違いではないのはなぜですか?

  • HTMLの基礎的なことについてなのですが・・・

    HTML初心者です。 2点質問いたします。 【1】 境界線(枠)を描きたく、次のようなHTMLを書きました。 **************************** <!DOCTYPE html> <html> <head> <meta charaset="UTF-8"> <title>文書構造化ステップ</title> <style type="text/css"> body*{ border-style:solid; border-width:1px; } </style> </head> <body> <h1>h1タグの行 テスト</h1> <p>pタグの行 テスト</p> <p>3行目 テスト</p> </body> </html> **************************:* headの中に、 <style type="text/css"> body*{ border-style:solid; border-width:1px; } </style> を記述したらよいと、とある本に書いてあったにで上記のようにしたのですが、 境界線が現れません。 どこが間違っているでしょうか? 【2】 上記のHTMLはサクラエディタを使って書きました。 境界線は現れませんが、文字は正しくブラウザーに出力されます。 ブラウザーはfirefox12.0です。 しかし、IE9とCrome19.0を使うと文字バケしてしまいます。 なぜ、firefoxでは文字バケしないのに、他の2つのブラウザーでは文字バケしてしまうのでしょうか? 以上になります。 よろしくお願いいたします。

  • 表の作成ができません!(HTML)

    メモ帳にHTML記述でホームページを作っています。 表を作成したいのですが、表示されません。 <html> <head> <title>~</title> </head> <body> <table border=1> <tr> <td>AAA</td> <td> <br>aaaaaaaaaaa <br>bbbbbbbbbbb <br>ccccccccccc </td> </tr> <tr> <td>BBB</td> <td> <br>dddddddddd <br>eeeeeeeeee </td> </tr> </table> </body> </html> で作っています。 (※aaaaaaは、たとえです) 同じタグ記述で、改行のない表を作ったら、これは表示されました。 表内に改行させた場合は、エクスプローラには表示されないのでしょうか?

  • HTMLの超初心者です。

    HTMLの超初心者です。 TeraPadエディタで行ったのですが「こんにちは」の文字 が、画面右に反映されず、画面左のままです。 以下 記入したものですが、どこが間違っていますか? それかエディタに何か更新ボタンがあるのでしょうか? 教えてください。 1<html lang="ja"> 2<head> 3</head> 4<body> 5<p algin="right">こんにちは</p> 6</body> 7</html>

    • ベストアンサー
    • HTML
  • HTMLのソースの取得・正規表現

    プログラム自体始めて間もない初心者です。 javascriptでHTMLのソースを取得して、正規表現でマッチしたURLを書き出したいと思います。 取得したソースから正規表現で抽出はできましたが、さらに手を加えると機能しませんでした。 下記test-1では「http://abc.com/」と表示されましたので思った通りに動きました。 しかし、test-2では「http」と表示されると思っていたところ、表示されませんでした。 この違いはなんでしょうか? //////////////////// test-1 <html> <head> <script type="text/javascript"> function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); document.write(bbb); } </script> </head> <body> <input type="button" onclick="test()"> <a href="http://abc.com/"> </body> </html> //////////////////// test-2 function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); ccc = bbb.match(/http/); document.write(ccc); }

  • PHPの中にHTMLを入れるには

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <body> <?php $test = てすと; print '<p>$testしています。</p>'; ?> </body> </head> 「てすとしています。」と書き出したいのですが、このソースだと 「$testしています。」と表示されてしまいます。 うまく表示するにはどうすればいいのでしょうか?

    • ベストアンサー
    • PHP
  • HTMLのテーブルをExcelにCopy&Pastしたときにセルを分割させない

    以下のようなHTMLがあります。 これをIE6で開き、テーブル部分をマウスでドラッグして選択し、MS-ExcelにCopy&Pastします。 何故か、Excel側で、3セル分に分かれてしまいます。 <br>部分でセルが分割されてしまいますが、分割されないようにすることはできますでしょうか? HTMLに何か仕込むことで対応できますでしょうか? <html> <body> <table border="1">  <tr>   <td>    aaa<br>    bbb<br>    ccc   </td>  </tr> </table> </body> </html> 以上、宜しくお願いします。

    • ベストアンサー
    • HTML
  • エクセルでHTMLタグをそのままコピペしたい

    エクセルでHTMLタグをそのままコピペしたいです メモ帳のHTMLタグをエクセルにコピペすると <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head><title>ABC</title></head> <body> <p>あああ</p> <p>123</p> </body> を仮にコピペしたら あああ 123 になってしまいます そのままコピペするにはどうすればいいでしょうか?

専門家に質問してみよう