• ベストアンサー

htmlの文法

<ul> <li>サンプル <h1>サンプル</h1> <p>サンプル</p> </li> </ul> 上記のように<li>の中に見出しや<p>を入れることは 文法上問題ないですか?

  • HTML
  • 回答数10
  • ありがとう数9

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

  • ベストアンサー
  • Nine-nine
  • ベストアンサー率49% (25/51)
回答No.9

文法上、問題ないです。 目次のようなリストに説明を加えたい等の利用なら、構造上もリストとして問題ないと思います。 文法上の問題は仕様書が絶対です。それに当たって、齟齬がなければ、正しいと言い切っていいです。文法上で、何が正しくて何が間違いかを決めるのは、仕様書通りか否かだけだと思います。

hetare560
質問者

お礼

回答ありがとうございます。 >文法上の問題は仕様書が絶対です。それに当たって、齟齬がなければ、正しいと言い切っていいです。文法上で、何が正しくて何が間違いかを決めるのは、仕様書通りか否かだけだと思います。 ズバッとした的確な意見にハッとさせられました。 確かに問題か問題じゃないかは仕様書が絶対になりますね。 的確なご意見ありがとうございました。

その他の回答 (9)

  • egoblock
  • ベストアンサー率22% (4/18)
回答No.10

htmlの文法上は問題ありません。 DTDの定義に違反していません。

hetare560
質問者

お礼

回答ありがとうございます。 簡潔にお答えいただきとてもわかりやすいです。 参考になりました。ありがとうございます。

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.8

こんにちは <li>要素の中にはブロック要素、インライン要素、テキストともに入れることは可能です ですのでHTML文法上でということでしたら問題はないと思います が、一般的にリスト=一覧ですので 一覧の定義としては内容を一目で分かりやすく表にまとめたものとなりますのでその中身は単語や短文が理想的です サンプルが短文としての見出しのリスト表示ならいいかなとは思いますが長文の文書としてリスト表示するのであればちょっと使い方がおかしいかな?と思います <style type="text/css"> h1 { margin:0px; } p { margin:0px; } </style> <div style="width:250px;"> <ul> <li> <h1>表題1</h1> <p>表題1の簡単説明(短文)</p> </li> <li> <h1>表題2</h1> <p>表題2の簡単説明(短文)</p> </li> </ul> </div> って言う使い方も有りと言えば有りのような気もしますが・・・ あまり使われることはないと思います(><)

hetare560
質問者

お礼

回答ありがとうございます。 ><li>要素の中にはブロック要素、インライン要素、テキストともに入れることは可能です ですのでHTML文法上でということでしたら問題はないと思います 色んな解説サイトを見てみると入れ子にしても問題ないようですね。 特別な注意書きもありませんし、 意識するほどのものではないのかなぁと感じました。 >一覧の定義としては内容を一目で分かりやすく表にまとめたものとなりますのでその中身は単語や短文が理想的です リストに見出しや段落を入れる場合は短文を意識した方が良さそうですね。 参考になりました。ありがとうございます。

回答No.7

リスト=箇条書き テーブル=一覧表 では? <ol> <li> <h3>概要</h3> <p>詳しい解説</p> <p>例など</p> </li> </ol> 私はこういう形で使うことがあります。(ULで使うこともあります) <li>概要1</li> <li>概要2</li> と同じですが、概要と解説を同じ場所に書いて読みやすくするために、 また、解説が入ると、概要のところがヘッダと同じような意味を持つことになるため、 <h->と<p>を使って区別させています。 divでは"概要"と"解説"の意味が消えますので、不適切だと思いましたから。 ということで、<h>の使い方が問題になると思いますが、いかがでしょうか。

hetare560
質問者

お礼

回答ありがとうございます。 >概要と解説を同じ場所に書いて読みやすくするために、 また、解説が入ると、概要のところがヘッダと同じような意味を持つことになるため、 <h->と<p>を使って区別させています。 つまりこれは<dl><dt><dd>と同じような役割にするということですよね? (解釈が間違っていたらすいません) 参考になりました。ありがとうございます。

noname#54215
noname#54215
回答No.6

問題おおありです。 <hn>=見出し <p>=段落 <ul><li>=リスト タグをそれぞれ本来の意味をあらわす言葉に置き換えてみてください。 どう考えてもおかしい、ということがよく分かると思います。

hetare560
質問者

お礼

回答ありがとうございます。 僕も今までは、見出しや段落とリストは分けて記述していたんですが、 最近買った参考書の中に質問のようなが記述があり、不思議に思って質問させていただきました。 >タグをそれぞれ本来の意味をあらわす言葉に置き換えてみてください。 どう考えてもおかしい、ということがよく分かると思います。 そうですよね。見出しの中に段落を入れる事はありませんし、liの中に見出しを入れるのも変ですね。 今のところチェックツールでチェックしてもエラーは出ませんが、 今後エラーになりそうな項目なので使用は控えたいと思います。 勉強になりました。ありがとうございます。

  • Softysoft
  • ベストアンサー率56% (29/51)
回答No.5

#2です。 すみません。liと同列でh1やpと勘違いしていました。 #2 は間違いです。#3#4さん、ご指摘ありがとうございます。 危うく嘘教えるところでした。お礼申し上げます。

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.4

リスト=一覧表

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.3

>文法上<ul>の直接の子どもは<li>のみです。ので、文法上ご質問の記述では問題があります。 ulの直下はliのみ、ということであって、liの中(直下)にh1やpがあるのは問題だとは書かれていない思うのですが。 仕様書はさておき、ul、liはあくまでも「(マーク付き)リスト」であって、中に「見出し」があるのは「文書として」おかしいと思います。 「なぜリスト要素が必要なのか」を考えるべきでは?

hetare560
質問者

お礼

2度も回答ありがとうございます。 >仕様書はさておき、ul、liはあくまでも「(マーク付き)リスト」であって、中に「見出し」があるのは「文書として」おかしいと思います。 確かにおっしゃる通りですね。 僕もおかしいとは思ったのですが、使用している参考書には何の注意書きもなく紹介されているし、 Another HTMLでチェックしてみても無反応だったので文法上問題ないのかと思っていました。 見出しや段落を含んだボックスをfloatで周り込ませるにはliではなdivで囲んで回り込ませるのがよさそうですね。 勉強になりました。ありがとうございます。

  • Softysoft
  • ベストアンサー率56% (29/51)
回答No.2

仕様書の訳です。http://www.doraneko.org/webauth/html32/19970114/Overview.html#block UL 順不同リスト これは、開始タグと終了タグを必要とし、個別のリスト項目を表わす LI エレメントを1つ以上包含する。 ということで、文法上<ul>の直接の子どもは<li>のみです。ので、文法上ご質問の記述では問題があります。

hetare560
質問者

お礼

2度も回答ありがとうございます。 li要素の中に見出しや段落を含めても特にエラーが出ないので問題ないのかと思っていましたが、 仕様書にはliの中身うんぬんが書かれていないだけなのですね。 勉強になりました。ありがとうございます。

noname#96725
noname#96725
回答No.1

こんばんは。 私はこのような使い方をした事がなかったので念の為に確認してみましたが、 4.01ではノーチェックでしたから文法上問題はないようです。 参考サイト; http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

hetare560
質問者

お礼

回答ありがとうございます。 そうなんですよね。Another HTMLでチェックしても無反応なんですよね。 だから文法上問題ないのかと思ったんですけど、 他の回答者さんの意見を見ると問題ありそうですね。

関連するQ&A

  • javascript(DOM)でIDとテキストノードを取得する方法

    下記のことをDOMを使ってやりたいと思っているのですが、ちょっとできないので教えていただきたいです。 [HTML内での記述] <h2 id="apple">りんご</h2> <p>...</p> <h2 id="grape">ぶどう</h2> <p>...</p> <h2 id="orange">みかん</h2> <p>...</p> <h2 id="peach">もも</h2> <p>...</p> 上記HTMLから<h2>内のid名とテキストを取得して、下記のようなリストにしたいです。 (<p>...</p>の部分はどうでもよいです。) <ul> <li><a href="#apple">りんご</a></li> <li><a href="#grape">ぶどう</a></li> <li><a href="#orange">みかん</a></li> <li><a href="#peach">もも</a></li> </ul> 要するに、見出しを取得してページ内リンクを作りたいのです。 DOMで、getElementByIdとか使って、、と何となくは分かるのですが、完成させるまでには至っていません。 ご教授いただければと思います。

  • 準拠したXHTMLマークアップとは…

    ウェブサイト構築で勉強している者です。 XHTMLマークアップの疑問について自分では解決できなかったので質問させていただきます。 参考にした数々のサイトや本を見ると、 ■「大見出し(<h1>)の次は<p>タグにページの概要が望ましい」 (例) <h1>質問ページ</h1> <p>このページは質問を投稿したり、回答するページです。</p> <p><img src="http://… alt="…"" /></p> <ul> <li><a href="http…/map.html">サイトマップ</a></li> <li><a href="http…/index.html">質問集トップ</a></li> </ul> とあったり、 ■「大見出しの次はサイトマップへのリンクを置く(クローラーがリンクを見つけ易くたどり易い)」 (例) <h1>質問ページ</h1> <ul> <li><a href="http…/map.html">サイトマップ</a></li> <li><a href="http…/index.html">質問集トップ</a></li> </ul> <p>このページは質問を投稿したり、回答するページです。</p> <p><img src="http://… alt="…"" /></p> ■「大見出しの後はトップへのリンクが良い(どのページにクローラーが来てもトップページを見逃さないから) (例) <h1>質問ページ</h1> <ul> <li><a href="http…/index.html">質問集トップ</a></li> <li><a href="http…/map.html">サイトマップ</a></li> </ul> <p>このページは質問を投稿したり、回答するページです。</p> <p><img src="http://… alt="…"" /></p> と様々な意見があり混乱しています。    各意見のメリットはだいたい理解できたのですが、デメリットも考えてしまいます。  大見出しの次にサイトマップへのリンクを置くとクローラーがリンクを辿りにいってしまってページ内容まで辿り着けるのか…や、大見出しの次にトップへのリンクを置くと記事ページからクローラーが来た時にはトップページを読み込んでくれますが、トップページから来た時は邪魔なテキストになってしまいます。(リンクは外しています。) 最良なのは大見出しの次にページの内容がいいと思うのですが、SEOも考慮した時、サイトマップを置くべきなのか、トップページへのリンクなのか…と解決できませんでした。 知識がある方に教えていただきたいと思い質問しました。 よろしくお願いします。  

  • HTML5 | 見出しよりも先にメタ要素

    こんばんは、 現在ブログをHTML5へと作り変えています。お伺いしたいのですが、以下のように見出しよりも先にそのメタ要素を記述する構造は良くないのでしょうか? <article>  <header>   <ul><li>日付</li><li>カテゴリ</li></ul>   <h1>タイトル</h1>  </header>  … </article> 見出しを先に記述した後に、CSSで入れ替えることはもちろんできるのですが。よろしくお願いします。

  • <ul>〜</ul> 内に普通のテキストを書くことはできません。と診断されます

    Another HTML-lint gateway「http://htmllint.itc.keio.ac.jp/htmllint/htmllint.html」にてHTML文法チェックを行ったところ以下のような診断をされました。 <ul>〜</ul> 内に普通のテキストを書くことはできません。(重要度9) なぜこういう診断がされてしまうのか原因がわかりません。 専門のサイトなどで<li>や<ul>について確認しましたが特に問題のある箇所が自分では特定出来ませんでした。 診断されたHTMLコード(抜粋)は以下になります。 <div id="sidebar"> <div id="sidebar_top"> <div id="sidebar_contents"> <p>&nbsp;</p> <p><img src="navigator.png" alt="" width="93" height="18" vspace="5" /></p> <h3>Categories : </h3> <div class="nav"> <ul> <li><a href="top">TOP</a></li> </ul> <h3>コンテンツ</h3> <ul> <li><a href="01">コンテンツ(1)</a></li>   <li><a href="02">コンテンツ(2)</a></li>   <li><a href="03">コンテンツ(3)</a></li>   <li><a href="04">コンテンツ(4)</a></li>   <li><a href="05">コンテンツ(5)</a></li> </ul> </div> </div></div></div> ※XHTML1.0 Transitional、UTF-8 これでは情報足りないようでしたら仰って下さい。 何卒、よろしくお願い致します。

    • ベストアンサー
    • HTML
  • ulを使ったパンくずリストの使い方で困っています

    ulを使ったパンくずリストの使い方で困っています パンくずリスト初めに現在位置という見出しを付けたいんですが <div id="pankuzulist"> <h3>現在位置</h3>もしくは<spna>現在位置</span> <ul> <li>1_page</li> <li>2_page</li> <li>3_page</li> <ul> </div> と <ul> <li>現在位置 <ul> <li>1_page</li> <li>2_page</li> <li>3_page</li> </ul> </li> </ul> という書き方を考えたんですけどこれはタグの使い方等々などから考えた場合どちらを使うべきでしょうか?

  • 見出しタグのつけ方について

    見出しタグのつけ方について 見出しタグのつけ方が今一、理解できません。 下記のようなページの場合、適切な見出しタグのつけ方で適切なのはどれでしょうか? それとも、この3つの中には適切なのはないでしょうか? (特に、メニュー項目をどういう位置づけにしたらいいかがわかりません) 初歩的な質問ですが、よろしくお願い致します。 (1)h1・・・サイトの説明文  h2・・・サイト名  h3・・・Welcame,更新情報,関連リンク (2)h1・・・サイトの説明文  h2・・・Welcame,更新情報,関連リンク (3)h1・・・サイトの説明文  h2・・・HOME,ABOUT,WORKS,ACCESS,CONTACT  h3・・・Welcame,更新情報,関連リンク --------------HTML------------------- <body> <div id="header"> <div id="logo_box">サイト名</div> <h1>サイトの説明文 </h1> <ul id="header_navi" class="clearfix"> <li> <a href="#">HOME</a> </li> <li> <a href="#">ABOUT</a> </li> <li> <a href="#">WORKS</a> </li> <li> <a href="#">ACCESS</a> </li> <li> <a href="#">CONTACT</a> </li> </ul> </div> <div id="inner" class="clearfix"> <div id="contents"> <h3>Welcame</h3> <p>TEXT TEXT</p> </div> <div id="right"> <h3>更新情報</h3> <p>TEXT TEXT</p> <h3>関連リンク</h3> <p>TEXT TEXT</p> </div> </div> </body> ----------------------------------------------------

    • ベストアンサー
    • HTML
  • HTML list-styleに見出し

    HTMLで、ブラウザ上での表示が 以下の様になるよう組んでいます。 ----------------------------------- コンテンツ大見出し (←大見出しはh3を使用予定) 1.見出し見出し見出し見出し   内容テキスト内容テキスト内容テキスト内容テキスト   内容テキスト内容テキスト内容テキスト内容テキスト 2.見出し見出し見出し見出し   内容テキスト内容テキスト内容テキスト内容テキスト   内容テキスト内容テキスト内容テキスト内容テキスト ~以下同様7、8項目くらい下に続く ----------------------------------- この場合、1~7項目まで続く、いわゆるリストなので list-styleを使った方がいいかな、と思い、当初 ↓ ----------------------------------- <ul> <li> <h4>見出し見出し見出し</h4> テキスト内容テキスト内容テキスト内容テキスト内容 </li> <li> <h4>見出し見出し見出し</h4> テキスト内容テキスト内容テキスト内容テキスト内容 </li> ~ </ul> ----------------------------------- と書いてみましたが、 <li>の中には<h>タグを入れるべきではないと拝見し、 では<dl>を使って ↓ ----------------------------------- <dl> <dt>見出し見出し見出し</dt> <dd>テキスト内容テキスト内容テキスト内容テキスト内容 </dd> <dt>見出し見出し見出し</dt> <dd>テキスト内容テキスト内容テキスト内容テキスト内容 </dd> ~ </dl> ----------------------------------- と組んでみました。 が、そうすると<dt>に番号がふれないのです。 どこかのサイトで、以下の様にスタイルシートに記述すればOKとありましたが dt { display: list-item; list-style: disc outside; … } 上記を記述しても実現できませんでした。 勿論「disc」の部分を「decimal」にしました。 実現方法だけで考えれば、 ・<dl>を使用して、見出し文の頭に自分で数字をつける ・<ul><li>を使用して、見出しの部分だけ<p>か何かで囲み、  スタイルシートで文字の大きさ太さを調整する ・list-styleではなく、各項目<div>で囲み、見出しは<h>タグを使う など、方法はあるのですが、 ・番号がふられている見出しはそれなりに重要視しているので  できればhタグか、見出しだと分かるタグを使用したい。 ・番号がふられているリスト(のようなもの)なのでlist-styleが適当のような気がする。 このような場合、皆さんはどう記述されていますか? どのような記述が正しいのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • 外部ページから指定場所にリンクをさせる

    ページ内で、リンクをするとき、hrefに飛ばしたい場所を#で指定すれば、name属性のところに ページ移動させれることは知っているのですが、 外部ページから、指定の場所に飛ばすことはできないでしょうか? ==========内部ページ内でリンクを作成する時(link.html)============= <h1>リンクテスト</h1> <h2>サンプル</h2> <h3><a name="menu" id="menu">メニュー</a></h3> <ul> <li><a href="#section1">メニュー1</a></li> <li><a href="#section2">メニュー2</a></li> <li><a href="#section3">メニュー3</a></li> </ul> <h3><a name="section1" id="section1">セクション1</a></h3> <p>メニュー1の内容。 ...</p> <h3><a name="section2" id="section2">セクション2</a></h3> <p>メニュー2の内容。 ...</p> <h3><a name="section3" id="section3">セクション3</a></h3> <p>メニュー3の内容。 ...</p> <p><a href="#menu">メニューに戻る</a></p> 上記ソースのメニュー部分を別ページ(top.html)に作成し、 リンクページの指定部分をメインで映るようにしたいのです。 例えば、下のメニュー3がクリックされたとき、 link.htmlのsection3の内容部分(link.htmlの下にある、セクション3)が画面中央に来るようにしたいのです。 ご教授お願いします。 ===top.hmtml(メニュー部分抜粋)================== <h1>リンクテスト</h1> <h2>サンプル</h2> <h3><a name="menu" id="menu">メニュー</a></h3> <ul> <li><a href="#section1">メニュー1</a></li> <li><a href="#section2">メニュー2</a></li> <li><a href="#section3">メニュー3</a></li> </ul>

    • ベストアンサー
    • HTML
  • CSSレイアウトの配置ずれについて

    本を見ながらHTMLとCSSを作成したのですが、どのブラウザで見てもclass指定した"slideItems"の位置が右にズレてしまいます。解決方法わかる方、教えてください。 以下、htmlとcssです。 html↓ <body> <div id="newBook"> <div class="item"> <ul id="slideItems"> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> <!--2ページ--> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> <!--3ページ--> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> </ul> </div> <div class="leftBtn"> <a href="javascript:startmove('left');"><img src="img/prev.gif" alt="左へ" width="25" height"25" border="0" /></a></div> <div class="rightBtn"> <a href="javascript:startmove('right');"><img src="img/prev_r.gif" alt="左へ" width="25" height"25" border="0" /></a> </div> </div> </body> css↓ #newBook { margin: 30px; position: relative; } .item { height: 115px; width: 500px; padding: 10px 0px; overflow: hidden; position: absolute; left: 40px; top: 0px; } .leftBtn,.rightBtn { text-align: left; width: 40px; position: absolute; top: 0px; } .leftBtn { text-align: left; left: 0px; } .rightBtn { text-align: right; left: 540px; } .item ul { width: 1500px; position: absolute; left: 0px; top: 0px; } .item li { background-color: #999999; height: 100px; width: 100px; list-style-type: none; padding: 10px 0px 5px; float: left; text-align: center; } #slideItems { position: absolute; left: 0px; top: 0px; }

  • 文字位置調整について

    以下ソースコードがあります。 この時、ulリストのmargin-leftで10px開けたいのです。 <h1>CPUとは</h1> <p>CPUは、コンピュータの頭にあたります。以下種類のものがあります<p> <ul>  <li>Intel</li>  <li>AMD</li> </ul> この時、 <ul>タグに、「margin-left:10px」とするべきなのか? 以下ソースのように<div>ブロックを設けて、「margin-left:10px」とするべきなのでしょうか。 <h1>CPUとは</h1> <p>CPUは、コンピュータの頭にあたります。以下種類のものがあります<p> <div class="box">  <ul>   <li>Intel</li>   <li>AMD</li>  </ul> </div> 仕様書見る限りでは、 >この両要素をスタイルシートやlang属性等と併用することで、HTMLを自身の必要や好みに応じられるようにできる。 と書いてあるし、ulタグよりdivの方がいいと思うのですが、 ご教授お願いします。

    • ベストアンサー
    • HTML