2012-04-06 7 views
14

<p>要素に<ul>要素を含めることができない理由についての技術的説明があります。残念ながら、これがコンテンツの構造である場合、これは私を助けません。HTML5の段落内にリストを挿入する正しい方法は何ですか?

は、メタでは、私はどちらも

  • セマンティックの説明、また
  • 私は実際に法線とアイテム「インライン」のリストを表示したい場合に推奨される構造

理解しますコンテンツ。

This pageは、どちらかの示唆段落からリストを分離:

<p>For instance, this fantastic sentence has bullets relating to</p> 
<ul> 
<li>wizards, 
<li>faster-than-light travel, and 
<li>telepathy, 
</ul> 
<p>and is further discussed below.</p> 

や段落の代替タグを使用して:

<div>For instance, this fantastic sentence has bullets relating to 
<ul> 
<li>wizards, 
<li>faster-than-light travel, and 
<li>telepathy, 
</ul> 
and is further discussed below.</div> 

しかし、これらの両方は、嘲笑を作るひどいハックとして私を打ちますHTML5のセマンティックコンテンツとみなされます。

最初のケースでは、<p>タグはどのように意味的に意味がありますか?リストの周りのスペースを取り除きたい場合は、実際にはこれを正しくスタイリングすることの実際的な難しさは言及していません(そして、別のリストが実際にコンテンツの別のブロックである場合 - oy!)。

2番目のケースでは、if私は<div>を持っている必要があります。これは、 "これはコンテンツの段落です"という意味で、段落内に表示される内容に応じて前後に切り替えるのではなく、<p>を完全に削除するかもしれません。ブロックまたはリストの項目としてスタイルスパンで

<p>For instance, this fantastic sentence has bullets relating to 
<span class="li">wizards,</span> 
<span class="li">faster-than-light travel, and</span> 
<span class="li">telepathy,</span> 
and is further discussed below.</p> 

(と誰が他にどのような微調整を知っている)レンダリングが権利を取得する:最も意味的に意味のあるバージョンのようなものかもしれないと

ISTM。実際には、これは非常に多くの悪化のように思えます。

このようなコンテンツをレンダリングするための推奨はありますか?

編集

これは実際には、すべてのもののハードなスタイルにはありませんが、それはそうです。私はすべてのブラウザのデフォルトをピックアップする方法があるかどうかわからないんだけど、私は(少なくとも、OS X Chromeで)既定のリストスタイルを複製することができます。私には

span.li { 
    display: list-item; 
    list-style-type: disc; 
    margin-left: 40px; 
} 
+0

、スタイルスパン技術が原因[長年のバグ](httpsにFirefoxで番号付きリストのために失敗しました//bugzilla.mozilla.org/show_bug.cgi?id=4522)。 – Adam

答えて

3

、これは一例ですリスト炎のようなものであるか、またはすべてのシーケンスをそのようにマークアップする必要のあるリストとして見ることができる。あなたがあなたの最後の例を持っているよう

<p>For instance, this fantastic sentence has bullets relating to wizards, 
faster-than-light travel, and telepathy, and is further discussed below.</p> 

あなたがそれらのアイテムに共通のスタイルを適用する必要がある場合には、適切なスタイリングフックが<span>です:

私の最初のアプローチは、あなたのように持っているものをマークアップするだろう。私はliをクラス名として使用しません。各テキストのスクラップがリスト項目を構成するかどうかはあまり意味がありません。ページの全体的な内容とその文脈での使用方法を知らなくても正しいクラス名を選択することは常に困難ですが、おそらくtopicが適切な選択肢になります。だから、マークアップはあなたが効果的にあなたがリストを入れ子にしている場合を除き、それに先行する段落(または他の要素)を終了しているolulを採用したりしている場合

<p>For instance, this fantastic sentence has bullets relating to <span 
class="topic">wizards</span>, <span class="topic">faster-than-light 
travel</span>, and <span class="topic">telepathy</span>, and is further 
discussed below.</p> 
+0

さて、これは理にかなっています。私が持っている唯一のコメント/質問は、このような個々のアイテムにタグを付けるが、上記で追加したスタイルを使用すると、タグ間のコンテンツがレンダリングを中断する(例えば、 "ウィザード間のコンマ" light-than-light travel ") - リスト項目の一部ではないので、新しい段落の行を作成します。これで動作するスタイルを示す別の方法があるかどうかはわかりません。 – Adam

1

は私には思えるなります。それは本当に文だったし、それらのアイテムは、インラインた(とあなたが提案する場合には、私は本当に文であることのすべてだと思う)場合は、その後、私はちょうど区切り文字としてカンマで<p>以内にそれらを一覧表示したい:

<p>For instance, this fantastic sentence has bullets relating to: 
wizards, faster-than-light travel, and telepathy, 
and is further discussed below.</p> 

あなたが本当に弾丸をしたい場合は、おそらく見出しは、よりフィットのようになります。:ここに私自身のポストにフォローアップ

<h2>For instance, this fantastic heading has bullets relating to:</h2> 
<ul> 
<li>wizards, 
<li>faster-than-light travel, and 
<li>telepathy, 
</ul> 
+2

しかし、それは意味に関する私の質問です - これは見出しではなく、箇条書きでレンダリングしたい項目のリストを含む単純な文です。 W3Cは、これが有効な文ではないと主張しているようですが、 – Adam

関連する問題