#?SuikaWiki/0.9 * ul 要素型 (HTML) [9] [DFN[[CODE(HTMLe)[ul]] [[要素型]]]]は、 順序付けられていない[[並び]] (unordered list) を表します。 並びの項目は子 [CODE(HTMLe)[[[li]]]] タグによってマークします。 仕様書: [[HTML 4]] [10] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容模型]]:[CODE(SGML)[([CODE(HTMLe)[[[li]]]])+]] :出現できる文脈:[CODE(SGML)[%[[list]];]] が出現できる文脈 :[[属性]]: ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[compact]]]] ,([[真偽値属性]]) ,(偽) ,[HTML4] 非推奨 ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousemove]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[type]]]] ,[CODE(SGML)[([CODE(HTML)[[[disc]]]] | [CODE(HTML)[[[square]]]] | [CODE(HTML)[[[circle]]]])]] ,(入れ子の深さ依存) ,項目の印の種類 ,[HTML4] 非推奨 [[#comment]] ** レンダリング [11] HTML 4 によると、 [CODE(HTMLe)[ul]] と [CODE(HTMLe)[[[ol]]]] は視覚的 [[UA]] では同じように[[レンダリング]]されます。 ただし、 [CODE(HTMLe)[ol]] は番号付けされませんが、 [CODE(HTMLe)[ul]] は番号付けされません。 というような記述は、仕様書で [Q[must]] を使って書かれているわけではありませんし、すべての場面における強制ではなく、 [[既定スタイル]]の推奨程度と受け止めるべきでしょう。 (そうしないと、 [[CSS]] で [CODE(HTMLe)[ul]] に [SAMP(CSS)[[[list-style-type]]: [VAR[数系]]]] を指定するようなことまで否定されてしまいますが、そのような制限は慣習的に適当とは思えません。) [12] ではいくつかの視覚的 UA での慣習が説明されています。 (こちらは参考と明記されています。) - 入れ子の深さにしたがってレンダリングします。 - [CODE(HTMLa)[type]] 属性をレンダリングのヒントとします。 - [CODE(HTMLa)[type]] 属性の既定値は入れ子の深さに依存します。 - [CODE(HTMLa)[type]] 属性の値とそれに対応する、表示するべき形。 ([CODE(HTLMa)[[[type]]]] 属性の説明を参照。) [17] [CODE(HTMLa)[[[type]]]] 属性や [CODE(HTMLa)[[[compact]]]] 属性の説明も参照。 ([[名無しさん]]) [[#comment]] ** 例 [13] [PRE(HTML)[ ]PRE] (HTML 4 仕様書より) [14] [PRE(HTML)[

現在インターネットでもっともよく使われているサービスは次のものだろう。

]PRE] [15] 入れ子の例: [PRE(HTML)[

主要なマーク付け言語:

]PRE] [16] [CODE(HTMLe)[[[ol]]]] 要素, [CODE(HTMLe)[[[dl]]]] 要素, [CODE(HTMLe)[[[li]]]] 要素, [CODE(HTMLa)[[[type]]]] 属性, [CODE(HTMLa)[[[compact]]]] 属性の例も参照。 ([[名無しさん]]) [[#comment]] ** HTML のリスト系要素型の使い分け - [1] [CODE(HTML)[UL]] と [[ol]] の使い分け: ''Strict-HTML スレッド10'' - [2] リスト系要素の使い分けは古今東西問わず頻出問題ですね。 - [3] [[HTML]] にはリスト系要素が [CODE(HTML)[UL]], [CODE(HTML)[OL]], [[dl]], [[nl]], [[dir]], [[menu]] と沢山ありますからねぇ。 - [4] [[某方面]]では[[100の質問]]のマーク付けのときにも問題になってます。 - [5] [[Strict]] 的思想にはなじまないかもしれませんが、そもそもの SGML/HTML の初期の [CODE[UL]]/[CODE[OL]] の使い分けというのは、番号を振るかどうかだった。 [CODE[OL]] はあくまでも、自動で番号を振ってくれる機能つきのリストだったのですよ。 - [6] >>5 今の Strict は文書の構造をとことん突き詰める方へ向かっていますけど、当時は当時の時代的制約で、そんなのは夢のまた夢、あるいは夢にも思われていなかったんですよね。だから、 SGML 文書のマーク付けってのはあくまでも、表示書式の抽象化のためのものであったのでして。 [WEAK[(もちろん今は必ずしもそうではない。)]] - [7] [[並び]] ([[列挙]]) はなんでも [CODE(HTML)[ul]] or [CODE(HTML)[ol]] でマークしたがる香具師が多いけど、 HTML における重要な概念、 [[ブロック要素]]と[[インライン要素]]の違いを思い出すべきだよな。 [CODE(HTML)[ul]] も [CODE(HTML)[ol]] もブロック水準の並びであって、[SAMP[A, B, そして C のような種類がある]]とかのような文中の列挙までそうするのは生きすぎだし、ナビゲーションのリンク並びも (無理矢理分類して) インライン水準なら [CODE(HTML)[ul]] は不適切だと思う。 - [8] >>7 [[表現と構造の分離]]思想の行き過ぎで、ブロック/行内という区別自体が表現的構成要素だと考えてしまう人もいるみたいだけど、そうじゃなくて、[[文]]あるいは[[行]]という水準の上がブロック、下が行内という、構造の大きさの概念と理解できるのでして。 [[#comment]] ** メモ [[#comment]] * メモ