* li 要素型 (HTML, XHTML 1)
[3] [DFN[[CODE(HTMLe)[li]] 要素]]は、[[並び]]の項目を表します。
仕様書: [HTML 4]
[4]
:[[開始タグ]]:必須
:[[終了タグ]] (HTML 4):省略可能
:終了タグ (XHTML 1):必須
:[[内容模型]] (HTML 4 の [CODE(HTMLe)[ul]], [CODE(HTMLe)[ol]]):[CODE(SGML)[(%[[flow]];)*]]
:[[内容模型]] (HTML 4 の [CODE(HTMLe)[dir]], [CODE(HTMLe)[menu]]):[CODE(SGML)[(%[[inline]];)*]]
:出現できる文脈:[CODE(HTMLe)[[[ol]]]], [CODE(HTMLe)[[[ul]]]],
[CODE(HTMLe)[[[dir]]]], [CODE(HTMLe)[[[menu]]]] の直下
:[[属性]]:
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]]
,[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(ABNF)[\"disc\" / \"square\" / \"circle\" / '1' / 'a' / 'A' / 'i' / 'I']]" , ,項目番号の種類 ,[HTML4] 非推奨
,[CODE(HTMLa)[[[value]]]] ,[CODE(SGML)[[[NUMBER]]]] ,[CODE[1]] ,項目の番号 ,[HTML4] 非推奨
[[#comment]]
** レンダリング
[5] [cODE(HTMLe)[[[ul]]]], [CODE(HTMLe)[[[ol]]]],
[CODE(HTMLe)[[[dir]]]], [CODE(HTMLe)[[[menu]]]],
[CODE(HTMLa)[[[type]]]], [CODE(HTMLa)[[[value]]]],
[CODE(HTMLa)[[[compact]]]], [CODE(HTMLa)[[[src]]]],
[CODE(CSS)[[[list-style]]]] などのレンダリングの説明も参照。
[[#comment]]
** 実装について
[6] ブラウザによっては、並び系要素の直下にない [CODE(HTMLe)[li]]
要素にも list marker を表示してくれる親切なものもあるので、
並び系要素を省略できると思っている人や、裏技(藁)として紹介している解説本もありました (今もそういう人いるの?)。
もっとも、 [[SGML]] 的には、[[開始タグ]]を省略できる変わった版の
HTML とみなして処理できることもあるかもしれませんが...
[[#comment]]
** メモ
[1] ''Testing mcom additions to HTML''
を元に推測すると、 Classic Mozilla では、
[PRE[
]PRE]
は
[PRE[
27. number 27
28. number 28
]PRE]
と表示されていたはずだ。ところが [[Mozilla]] 1.3b ではこれを
[PRE[
27. number 27
・ number 28
]PRE]
と表示する。 [[WinIE]] 6.0 は
[PRE[
・ number 27
・ number 28
]PRE]
だ。マイナーに終わった独自拡張が受け継がれなかった一例か。
- [2] [[Google]] の検索結果の要約では、 [CODE(CSS)[[li {display: inline} li + li:before {content: ", "}]] 的な結果 (つまり、読点で項目を結合した文字列) がでてきます。
[3]
- [4] [[HTML4]] によれば [CODE(HTMLa)[[[start]]]] や [CODE(HTMLa)[[[value]]]] は [CODE(SGML)[[[NUMBER]]]] らしいので、零以上の整数しか表せませんが、実装、たとえば [[Gecko]] は負整数にも対応しています。 (正符号は?)
- [5] Gecko は値を31ビット分 (2147483647) までしか扱えなくて、それ以上だと零や負数になってしまいます。 (多分上限は環境によって異なるでしょう。符号付き長整数が32ビットならこういう結果なのだと思われ。) [[WinIE]] 6 も同じところが限界でした。
- [6] ''Lists CHECK!'' : >>4-5 テスト頁。
[7]
>>1 の頁を NC 48 で見てみたのですが、全部 [CODE[disc]] で表示されました。よくみたら、 [CODE(HTMLe)[ol]] ではなく [CODE(HTMLe)[ul]] ではないですか。
ということで [CODE(HTMLe)[ol]] になおして表示したら、[Q[27.]], [Q[28.]], [Q[・]], [Q[・]] になりました。よくみたら羅馬数字は [CODE(HTML)[I]] でなく [CODE(HTML)[R]] になっていますね。
Dan が試した当時の Navigator がどう表示していたのか確かめてみる必要がありそうです。それに限らず、現代の各 UA のこの辺の実装も調べてみたら面白そうです。
([[名無しさん]] [WEAK[2004-04-14 03:37:58 +00:00]])
[8]
[CITE[The element's feedback]] ([[Ian Hickson ]] 著, [CODE[2008-04-23 06:56:09 +09:00]] 版)
([[名無しさん]])
[[#comment]]
* メモ
[9]
dxykq gkejfxqw mefhnbylv xjrya ifsudol tqgl stabwgvem
([[fvnho jtyi]] [nxqfsty@gmail.com])