-
Notifications
You must be signed in to change notification settings - Fork 4
/
389.txt
66 lines (52 loc) · 3.35 KB
/
389.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
[12] [[HTML4]] の[DFN[[RUBYB[ブロック水準要素]@en[block-level elements]]]]は、
[[段落]]や[[リスト]]や[[見出し]]のような[[要素]]の集合でした。
* 代替
[1] [[ブロック水準要素]]は、 [[HTML4]] や [[XHTML1]] の時代の[[要素]]の[[内容モデル]]を厳密化する流れの中で生み出された分類でした。
[2] 現実にはこの流れは一部の専門家が従うだけで、ほとんどの[[著者]]には無視されました。
空想から現実への転換を指向した [[HTML5]] の開発の中で、
[[ブロック水準要素]]の制約は廃止されました。
[13] [[ブロック水準要素]]は [[HTML4]] 時代の概念です。
[[HTML5]] では[[フロー内容]]と[[語句付け内容]]の差分にほぼ相当します。
* 要素型級 [CODE(SGML)[%block]] (HTML)
[11] [[HTML 4]] の[[要素型級]] [DFN[[CODE(SGML)[%block]]]]:
- [CODE(HTMLe)[[[address]]]]
- [CODE(HTMLe)[[[blockquote]]]]
- [CODE(HTMLe)[[[center]]]] (移行用 DTD・フレーム集合 DTD のみ)
- [CODE(HTMLe)[[[div]]]]
- [CODE(HTMLe)[[[dl]]]]
- [CODE(HTMLe)[[[fieldset]]]]
- [CODE(HTMLe)[[[form]]]]
- [CODE(SGML)[%[[heading]]]]
- [CODE(HTMLe)[[[hr]]]]
- [CODE(HTMLe)[[[isindex]]]] (移行用 DTD・フレーム集合 DTD のみ)
- [CODE(HTMLe)[[[noframes]]]] (移行用 DTD・フレーム集合 DTD のみ)
- [CODE(HTMLe)[[[noscript]]]]
- [CODE(HTMLe)[[[p]]]]
- [CODE(SGML)[%[[preformatted]]]]
- [CODE(HTMLe)[[[table]]]]
[[DTD]] の[[注釈]]には[Q[ブロック状要素 例: 段落や並び]]と説明されています。
[CODE(HTMLe)[noframes]] 要素型は HTML 4 フレーム集合 DTD
でも [CODE(SGML)[%block]] に含まれてはいますが、上位の
([CODE(HTMLe)[frameset]] 要素の子供の) [CODE(HTMLe)[noframes]]
要素が入れ子を禁止しているので [CODE(SGML)[%block]]
として使うことができません。
仕様書:
- [[HTML 4]]
-- [[厳密DTD]]: <IW:HTML4:"sgml/dtd.html#block">
-- [[移行用DTD]]: <IW:HTML4:"sgml/loosedtd.html#block">
* 文脈
[3] [[HTML4]] の[[厳密DTD]] では、基本的に[[ブロック水準要素]]を[[内容]]に含めることができる[[要素]]の[[子供]]としては、
[[ブロック水準要素]]だけを認めるという[[内容モデル]]になっていました。
[EG[
[4] 例えばそのような[[要素]]である [CODE(HTMLe)@en[form]] [[要素]]の[[子供]]として、
[[ブロック水準要素]]である [CODE(HTMLe)@en[div]] [[要素]]と[[行内要素]]である
[CODE(HTMLe)@en[a]] [[要素]]を入れることは不適切とされていました。
]EG]
* 関連
[14] [[CSS]] にも[[ブロック水準要素]]の概念があります。[[HTML]]
の[[ブロック水準要素]]は[[利用者エージェント・スタイル・シート]]によって [[CSS]]
の[[ブロック水準要素]]やそれに類する方法で[[レンダリング]]されますが、
[[著者スタイル・シート]]によって上書きし、他の方法で[[レンダリング]]することもできます。
[[HTML]] と [[CSS]] の2つの「[[ブロック水準要素]]」の概念は混同しやすく[[著者]]の混乱を招いたため、
[[Web Applications 1.0]] は途中で[[ブロック水準要素]]を廃止し、
代わりに[[フロー内容]]、[[語句付け内容]]などの概念を導入しました。