• ベストアンサー

htmlの文法

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

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

  • ベストアンサー
  • 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