-
Notifications
You must be signed in to change notification settings - Fork 4
/
262.txt
578 lines (467 loc) · 26.9 KB
/
262.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
[4] [CODE(HTMLe)[div]] 要素型は、 [CODE(HTMLa)[[[class]]]]
属性や [CODE(HTMLa)[id]] 属性と併用することで、
[[文書]]に[[構造]]を与えるための一般的な仕組みとして用意されました。
[CODE(HTMLe)[div]] は[[ブロック水準要素]]ではありますが、
それ以外に[[表現]]上の制約はありません。
[[著者]]は、[[スタイルシート]]や [CODE(HTMLa)[[[lang]]]]
属性を使って要求を満たすことができます。
[10] 仕様書:
- [[HTML 4]]
-- [CODE(HTMLe)[div]] <IW:HTML4:"struct/global.html#edef-DIV">
-- 14.2.3 Header style information: the [CODE(HTMLe)[STYLE]] element
<IW:HTML4:"present/styles.html#style-group">
[5]
:分類:[[流れ内容]]
:[[XML名前空間]]:[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]]
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:文脈:[[流れ内容]]が認められる場所、 [CODE(XMLa)@en[[[type]]]] が
[CODE(XML)@en[[[xhtml]]]] な [[Text construct]] や [CODE(XMLe)@en[atom:[[content]]]]
[[要素]]の[[子要素]]として
:[[内容モデル]]:[[透過]]
:[[属性]]:
,属性名 ,属性値 ,既定値 ,説明 ,状態 ,出典
,[CODE(HTMLa)[[[align]]]] , , , ,[HTML4] [[非推奨]]
,[CODE(HTMLa)@en[[[anticache]]]] , , , ,非標準
,[CODE(HTMLa)@en[[[apply]]]] , , , ,非標準
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]]
,[CODE(HTMLa)@en[[[bv:ca]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[bv:cat]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[bv:closebox]]]] ,[CODE(HTML example)[[[1]]]] , , ,''非''標準
,[CODE(HTMLa)@en[[[bv:closeboxtooltip]]]] ,[CODE(SGML)[%[[Text]];]] , , ,''非''標準
,[CODE(HTMLa)@en[[[uicontact:cid]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[bv:cns]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[bv:commentcount]]]] ,[CODE(SGML)@en[[[NUMBER]]]] , , ,''非''標準
,[CODE(HTMLa)[[[compact]]]] , , , ,非標準
,[CODE(HTMLa)@en[[[uicontact:contactsize]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[containernodeclass]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)[[[datafld]]]] , , ,欄名 ,[HTML4] 予約
,[CODE(HTMLa)[[[dataformat]]]] , , ,データ書式 ,[HTML4] 予約
,[CODE(HTMLa)[[[datasrc]]]] , , ,データ源 ,[HTML4] 予約
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]]
,[CODE(HTMLa)@en[[[dojoattachevent]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[dojoattachpoint]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[dojotype]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr
,[CODE(HTMLa)@en[[[label]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[labelclass]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[labelnodeclass]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n
,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1]
,[CODE(HTMLa)@en[[[bv:lastcns]]]] , , , ,''非''標準
,[CODE(HTMLa)@en[[[layoutalign]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[listeners]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[metype]]]] , , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[movable]]]] ,[CODE(example)@en[[[True]]]] , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[multiinstance]]]] ,[CODE(example)@en[[[False]]]] , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[name]]]] , , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[bv:nexttooltip]]]] ,[CODE(SGML)@en[%[[Text]];]] , , ,''非''標準
,[CODE(HTMLa)@en[[[nodedoctype]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[nowrap]]]] , , , ,非標準
,[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)[[[onmouseout]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)@en[[[orientation]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[orientationpreference]]]] , , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[placement]]]] ,[CODE(example)@en[MustBeFirst]] , , ,非標準 ,[[Windows Live Spaces]]
,[CODE(HTMLa)@en[[[bv:prevtooltip]]]] ,[CODE(SGML)@en[%[[Text]];]] , , ,''非''標準
,[CODE(XMLa)[[QN[v:[[shape]]] [[[urn:schemas-microsoft-com:vml]]]]]] , , ,[[VML]] 形状 ,
,[CODE(HTMLa)@en[[[sizemin]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[sizeshare]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[spellcheck]]]] , , , ,非標準 ,[[Firefox 2]]
,[CODE(HTMLa)@en[[[src]]]] , , , ,非標準
,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr
,[CODE(HTMLa)@en[[[templatecsspath]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr
,[CODE(HTMLa)@en[[[toggle]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[toggleduration]]]] , , , ,非標準 ,[[Dojo]]
,[CODE(HTMLa)@en[[[valign]]]] ,[CODE(HTML example)@en[[[top]]]] , , ,''非''標準
,[CODE(HTMLa)@en[[[width]]]] , , , ,非標準
,[CODE(HTMLa)@en[[[wraptag]]]] , , , ,非標準
,[CODE(XMLa)[[[xmlns]]]] ,[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] 固定 ,[[名前空間名]] ,W3C 勧告 ,[[XHTML m12n]]
** 意味
[13]
HTML 4 の DTD の注釈は [Q[generic language/style container]]
([Q[共通言語・様式包含子]]) と説明しています。
** Atom での利用
[33] [[Atom 1.0]] の [[Text construct]] や [CODE(XMLe)@en[atom:[[content]]]]
[[要素]]では [CODE(HTMLe)@en[[[div]]]] [[要素]]が用いられています。
[36] [CODE(HTMLe)@en[[[div]]]] を使ったのは、[[内容モデル]]が[[ブロック要素]]も[[行内要素]]も使える
[CODE(SGML)@en[%[[flow]];]] なので色々面倒から逃れられるからでしょうかね。
でも [CODE(XMLe)@en[atom:[[title]]]] に [CODE(HTMLe)@en[[[p]]]] を使ったりするのはおかしい気がします。
*** [CODE(XML)@en[type=html]]
[34] [CODE(XMLa)@en[[[type]]]] が [CODE(XML)@en[[[html]]]] の場合、
[CODE(HTMLe)@en[[[div]]]] [[要素]]は直接は用いられないのですが、
[[escaped markup]] を [[unescape]] したものは [[HTML 4.01]] [CODE(HTMLe)@en[[[div]]]]
[[要素]]の[[内容]]として適切である[['''べき''']]だと規定されています
[SRC@en[[[Atom 1.0]] 3.1.1.2.]]。
*** [CODE(XML)@en[type=xhtml]]
[35] [CODE(XMLa)@en[[[type]]]] が [CODE(XML)@en[[[xhtml]]]] の場合、
[[Text construct]] や [CODE(XMLe)@en[atom:[[content]]]]
[[要素]]の[[内容]]は [[XHTML m12n 1.0]] [CODE(HTMLe)@en[[[div]]]]
[[要素]] 1つだけで[['''なければならず''']]、[[妥当]]である[['''べき''']]だと規定されています。
ただし、 [CODE(HTMLe)@en[[[div]]]] [[要素]]自体はその内容の一部ではないとされています。
[SRC@en[[[Atom 1.0]] 3.1.1.3.]]
** レンダリング
[7] HTML 4 仕様書は、視覚的[[利用者エージェント]]の通常のレンダリング例として、次のものを挙げています。
[PRE(HTML)[
<P>aaaaaaaaa<DIV>bbbbbbbbb</DIV><DIV>ccccc<P>ccccc</DIV>
]PRE]
を表示すると、
[PRE[
aaaaaaaaa
bbbbbbbbb
ccccc
ccccc
]PRE]
つまり、 [[CSS]] で表現すると、
[PRE(CSS)[
div {
display: block;
}
]PRE]
[8] 非推奨の [CODE(HTMLa)[align]] 属性対応の UA
は、[[既定スタイル]]として
[PRE(CSS)[
div[align] {
text-align: [VAR[attr(align)]];
}
]PRE]
を持つと考えられます。
[9]
[PRE(HTML)[
<div align="center">
<table/>
</div>
]PRE]
だと表は真ん中に表示されるのでしょうか。 HTML 4
はその辺にちゃんと言及していないような気がしますが。
* 例
[6] 次の例は、顧客データベースに基づく HTML 文書において、 HTML 4
に存在しない「顧客」という情報をマーク付けするために
[CODE(HTMLe)[div]] を用いています。
[PRE(HTML)[
<DIV id="CLIENT-BOYERA" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Boyera</TR>
<TR><TH>First name:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>
<DIV id="CLIENT-LAFON" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Lafon</TR>
<TR><TH>First name:<TD>Yves</TR>
<TR><TH>Tel:<TD>(617) 555-1212</TR>
<TR><TH>Email:<TD>yves@coucou.com</TR>
</TABLE>
</DIV>
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[11] スタイル・シートを使って表現を指定する例
[PRE(HTML)[
<HEAD>
<TITLE>DIV and Style Sheet Example</TITLE>
<STYLE type="text/css">
DIV.Abstract { text-align: justify }
</STYLE>
</HEAD>
<BODY>
<DIV class="Abstract">
<P>The Chieftain product range is our market winner for
the coming year. This report sets out how to position
Chieftain against competing products.
<P>Chieftain replaces the Commander range, which will
remain on the price list until further notice.
</DIV>
</BODY>
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[CODE(HTMLe)[div]] の既定レンダリングでは [CODE(CSS)[[[display]]: [[block]]]]
としか決められていませんが、 [[CSS]] などを使って具体的な表現を指定できます。
この例では、[RUBYB[要約] [abstract]]の章で文字が両端で揃えるようにと指定しています。
* 歴史
** 誕生
;; [CODE(HTMLe)@en[[[center]]]]、[CODE(HTMLe)@en[[[div[VAR[n]]]]]] の項も参照。
[14] 1995年1月、[[章節]]のような見出し付き区分構造のために
[[Dave Raggett]] が [CODE(HTMLe)[[[h[VAR[n]]]]]]
および本体の親となる [CODE(HTMLe)[[[div[VAR[n]]]]]]
を提案したのに対して、 [[Joe English]] は面倒が無いように
[CODE[[VAR[n]]]] を取って [CODE(HTMLe)[[[div]]]]
とすることを提案しました。更に[[内容モデル]]も見出し無し,
非[Q[階層的]]構造も扱えるように [CODE(HTMLe)[[[h[VAR[n]]]]]]
を必須でない方が良いとしました。 [SRC[JOE]]
[16] 1995年2月9日、 [[HTML 3.0]] [[DTD]] 案に
[CODE(HTMLe)[[[div]]]] が追加されました。 [SRC[HTML3 DTD 3/24]]
3月24日版 [[DTD]] 案では次のように宣言されていました。
[PRE(SGML code)[
[CODE(comment)[<!--]]
[CODE(comment)[ DIV can be used with the CLASS attribute to represent different]]
[CODE(comment)[ kinds of container, e.g. chapter, section, abstract, appendix.]]
[CODE(comment)[-->]]
<!ELEMENT [CODE(HTMLe)[DIV]] - - [VAR[%body.content]]>
<!ATTLIST [CODE(HTMLe)[DIV]]
[VAR[%attrs;]]
[VAR[%needs;]] [CODE(comment)[-- for control of text flow --]]
align (left|center|right) left [CODE(comment)[-- alignment of following text --]]
nowrap (nowrap) #IMPLIED [CODE(comment)[-- disable wordwrap --]]
>
]PRE]
また、最初 [WEAK[(で最後)]] の [[HTML 3.0]] 仕様書案
[SRC[HTML 3.0 I-D]] にも
> The DIV element is used with the CLASS attribute to represent
different kinds of containers, e.g. chapter, section, abstract,
or appendix.
と同じ説明があります。
[17] 1996年1月には、 [[HTML 3]] [[スタイル・シート]]・モジュールの
[[WD]] に [CODE(HTMLe)[[[div]]]] が追加されました。
[SRC[HTML3 Style WD2]] こんな風に説明されています。
> HTML lacks an element that can group paragraphs, headers, etc.
into a chapter, a section, an abstract, etc. The DIV element is
added to deal with this situation. It can enclose elements so that
they can be given a distinctive style as a group.
[18] 1996年9月には [[HTML 3.2]] の [[WD]] [SRC[HTML 3.2 WD]]
が発表されましたが、ここでは
> DIV elements can be used to structure HTML documents as a
hierarchy of divisions.
と説明されています。また、 [[HTML 3.2]] は [CODE(HTMLe)[[[center]]]]
も取り入れていますが、以前の [[ietf-html]] での議論の通り
[CODE(HTMLe)[[[div]]]] で [CODE(HTMLa)[[[align]]]] が
[CODE(HTML)[[[center]]]] と指定することの省略形が
[CODE(HTMLe)[[[center]]]] であるとされました。
その後1997年1月に [[HTML 3.2]] は[[勧告]]となりました。
[19] '''ISO-HTML''':
ところで [[HTML 3]] とほぼ同時期に進行していた [[ISO-HTML]]
では、紆余曲折を経て [CODE(HTMLe)[[[div]]]] (規定) と
[CODE(HTMLe)[[[div[VAR[n]]]]]] (参考) が用意されています。
[CODE(HTMLe)[[[div]]]] は [[HTML 3]] の [CODE(HTMLe)[[[div]]]]
に由来するもので、 [CODE(HTMLe)[[[div[VAR[n]]]]]] は
[[ISO-HTML]] の当初の案の [CODE(HTMLe)[[[b[VAR[n]]]]]]
に由来するものです。 [[HTML 3]] の [CODE(HTMLe)[[[div]]]]
の誕生のきっかけとなった [CODE(SGMLe)[[[div[VAR[n]]]]]] (>>14)
とは異なり、見出し ([CODE(HTMLe)[[[h[VAR[n]]]]]]) ''以外''の部分が
[CODE(HTMLe)[[[b[VAR[n]]]]]] になります。
([CODE(math)[旧 [CODE(SGMLe)[[[div[VAR[n]]]]]] = [CODE(HTMLe)[[[h[VAR[n]]]]]] + [CODE(HTMLe)[[[b[VAR[n]]]]]]]])
[[HTML 4]] [[厳密DTD]] の影響から、 [[ISO-HTML]] の最終版では
[CODE(HTMLe)[[[div]]]] が [CODE(SGML)[%[[flow]]]]
相当、 [CODE(HTMLe)[[[div[VAR[n]]]]]] が [CODE(SGML)[%[[block]]]]
相当の[[内容モデル]]になっています。
[20] '''HTML 4''': 1997年に [[W3C]]
は亡き [[HTML 3.0]] 以来の [[HTML 3]] モジュール群と [[HTML 3.2]]
を引き継ぐ [[HTML 4]] を発表しました。その中で [CODE(HTMLe)[[[div]]]]
は、[Q[offer a generic mechanism for adding structure to documents]<http://www.w3.org/TR/WD-html40-970708/struct/global.html#h-7.1.4.2>]
と紹介されています [SRC[HTML 4.0 WD1]]。
以前の[Q[見出しや段落などをまとめて章節に]]
という意味より拡大していることに注意して下さい。
ここに [CODE(HTMLe)[[[div]]]] は [CODE(HTMLe)[[[span]]]]
と合わせて [[HTML]] の語彙の拡張の手段という意味が与えられたのです。
まあ実世界 (>>21) に幾分譲歩したと取れなくもありません。
[WEAK[なお、当初 [CODE(HTMLe)[[[div]]]] の[[内容モデル]]は [CODE(SGML)[%block]] とされています [SRC[HTML 4.0 WD1]] が、当時の [[HTML]] の [[DTD]] で [CODE(SGML)[%block]] は現在の [CODE(SGML)[%[[flow]]]] に当たるものでした。]]
実例として、次のようなものが示されています [SRC[HTML 4.0 WD1]]。
[PRE(HTML example code)[
<DIV id="client-boyera" class="client">
<SPAN class="client-last-name">Last name:</SPAN> Boyera,
<SPAN class="client-first-name">First name:</SPAN> Stephane
<SPAN class="client-tel">Telephone:</SPAN> (212) 555-1212
<SPAN class="client-email">Email:</SPAN> sb@foo.org
</DIV>
]PRE]
ちなみに、これは次の版で[Q[改良]]されています [SRC[HTML 4.0 WD2]]。
[PRE(HTML example code)[
<DIV id="client-boyera" class="client">
Last name: <SPAN class="client-last-name">Boyera</SPAN>,
First name: <SPAN class="client-first-name">Stephane</SPAN>,
Tel: <SPAN class="client-tel">(212) 555-1212</SPAN>,
Email: <SPAN class="client-email">sb@foo.org:</SPAN>,
</DIV>
]PRE]
更に次の版で表になりました [SRC[HTML 4.0 PR]]。
[PRE(HTML example code)[
<DIV id="client-boyera" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Boyera</TR>
<TR><TH>First name:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>
]PRE]
反動(謎)で本来の semantics の方向に戻ったようにも見えます[AA[:)]]
[22] 誕生の経緯や [[HTML 3]] 当時の semantics を鑑みれば、
[CODE(HTMLe)[[[div]]]] の[[内容モデル]]は [[HTML 4]] [[厳密DTD]]
においては [CODE(HTMLe)[[[body]]]] や [CODE(HTMLe)[[[blockquote]]]]
と同様に [CODE(SGML)[%[[block]]]] にするべきでした。
実際 [[DTD]] が複数化された1997年9月の原案 [SRC[HTML 4.0 WD2]]
と11月の勧告案 [SRC[HTML 4.0 PR]] では [CODE(SGML)[%[[block]]]]
とされましたが、12月の勧告 [SRC[HTML 4.0 REC1]] では
[CODE(SGML)[%[[flow]]]] に戻されてしまいました。
[21] '''実世界''':
[[HTML]] の仕様策定に興味がない人の多くは、まずはじめに
[[Netscape Navigator]] に実装された [CODE(HTMLe)[[[center]]]]
を知り、次に [CODE(HTMLe)[[[div]]]] と [CODE(HTMLa)[[[align]]]]
を知りました。 [[CSS]] が実装されるのはまだ先の話で、
1995年〜1996年頃の多くの人達にとって [CODE(HTMLe)[[[div]]]]
は文章を右寄せにするための[[タグ]]でしかありませんでした。
その後 [[WinIE 3]] と [[NC4]] に [[CSS]] が実装されると、
[CODE(HTMLe)[[[div]]]] は[RUBY[[[層]]] [[[レイヤー]]]]などと称して
[[HTML文書]]の任意の一部分を表示領域の好きな場所に配置したり、
[[背景色]]を指定したり、その他 [[CSS]]
によって表示効果を与えるための[[タグ]]とみなされるようになりました。
このような所謂 [[[CODE(HTMLe)[div]]厨]]的レイアウト手法は、
かつて (1990年代後半) は単独あるいは [[[CODE(HTMLe)[table]] layout]]
と併用して[[フレーム]]の代替として、その後 (2000年代前半)
は [[[CODE(HTMLe)[table]] layout]] の代替として、
批判を浴びた旧時代の[Q[レイアウト手法]]を[Q[[[エミュレート]]]]するために使われています。
[22] [[CSS]] の実装が進むにつれて旧来の [[HTML]]
による[[レンダリング]]の指定は徐々に使われなくなり、
代わりに [CODE(HTMLe)[[[div]]]] が使われるようになりました。
しかし [CODE(HTMLe)[[[div]]]] の濫用と[[見出し]]
([CODE(HTMLe)[[[h[VAR[n]]]]]]) や[[段落]]
([CODE(HTMLe)[[[p]]]]) などの本来 [[HTML]] が持つ意味的要素型の不使用は
[[HTML文書]]の[[アクセス可能性]]や[[利用可能性]]を著しく低下させ、
批判の対象となりました。
- [JOE] [CITE[html-wg-95q1: Re: HTML Scalability]]
<http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q1.messages/0213.html>
- [HTML3 DTD 3/24] 1995年3月24日版 [[HTML 3.0]] [[DTD]] 案
- [HTML 3.0 I-D] [CITE[Divisions]]
<http://www.w3.org/MarkUp/html3/divisions.html>
- [HTML3 Style WD2] [CITE[HTML3 and Style Sheets]]
<http://www.w3.org/TR/WD-style-960115.html#divtag>
- [HTML 3.2 WD] [CITE[HTML 3.2 Reference Specification]]
<http://www.w3.org/TR/WD-html32-960909.html#div>
- [HTML 4.0 WD1] [CITE[The global structure of an HTML document]]
<http://www.w3.org/TR/WD-html40-970708/struct/global.html#h-7.1.4.2>
- [HTML 4.0 WD2] [CITE[The global structure of an HTML document]]
<http://www.w3.org/TR/WD-html40-970917/struct/global.html#h-8.4.2>
- [HTML 4.0 PR] [CITE[The global structure of an HTML document]]
<http://www.w3.org/TR/PR-html40-971107/struct/global.html#h-7.5.4>
- [HTML 4.0 REC1] [CITE[The global structure of an HTML document]]
<http://www.w3.org/TR/REC-html40-971218/struct/global.html#h-7.5.4>
** 不思議解釈
[23]
> 「div」に囲まれた部分は「ボックス」の意味を持ち、
前後に改行が入ります。一般的には「div」を優先して使用します。
「span」に囲まれた部分には前後に改行が入りませんので、
「テキストのカラー変更」などに使用します。
出典:
[CITE[divとspan、idとclass/アオゾラウェブデザイン[Aozora Web Design][CSS/スタイルシート/style sheets]]]
<http://www.aozoraweb.com/design/css/cssdiv.shtml>
(2005年4月現在)
[CODE(HTMLe)[[[div]]]] と [CODE(HTMLe)[[[span]]]] では
[CODE(HTMLe)[[[div]]]] が[Q[一般的]]なのだそうな。
比べられるようなものでもなかろうに。
[24]
'''[CODE(HTMLe)@en[div]] と文書構造''':
[Q[[CODE(HTMLe)@en[div]] は文書構造に影響しない]]
と言っている人がいますが、そんなはずはありません。
[CODE(HTMLe)@en[div]] そのものが文書構造の1つの単位です。
[WEAK[(本当に影響しないというのなら存在意義自体が否定されてしまいます。)]]
** 関連
[29] [CODE(HTMLe)@en[[[center]]]] [[要素]]は [CODE(HTMLe)@en[[[div]]]]
[[要素]]の特殊形だと考えられています。
[30] [CODE(HTMLe)@en[[[div]]]] [[要素]]はそれ自体が[[意味]]を持たない[[ブロック水準要素]]と捉えられるのに対し、
[CODE(HTMLe)@en[[[span]]]] [[要素]]は[[意味]]を持たない[[行内要素]]です。
[31] [CODE(HTMLe)@en[[[div]]]] [[要素]]の当初の意図だった「[[章節]]」に相当する[[要素]]として
[CODE(HTMLe)@en[[[section]]]] が後に導入されています。更に、
[CODE(HTMLe)@en[[[article]]]]、[CODE(HTMLe)@en[[[aside]]]]
のように特定の[[意味]]に特化した[[要素]]もあります。
[32] [[ISO-HTML]] の準備用の[[文書型]]には[[見出し]]の[[階数]]に対応した
[CODE(HTMLe)@en[[[div[VAR[n]]]]]] [[要素]]が定義されていました。
[37] [[OOXML]] には [CODE(HTMLe)@en[[[div]]]] [[要素]]を使った [[HTML]] 出力を考慮して
[CODE(XMLe)@en[[[w:div]]]] に[[表]]の[[行]]を関連付けるための
[CODE(XMLe)@en[[[w:divId]]]] [[要素]]があります。
**
[1] [[yuu]] は単純に [CODE(HTMLe)[div]] が嫌いなんじゃないかと思った。
[2] [[WinIE]] は、3未満が
[CODE(HTMLe)[div]]
要素型に対応していません。
(タグを無視するので [CODE(CSS)[[[display]]: [[inline]]]] になります。)
[3] [[NN]] は、 2 で既に対応していて
[CODE(CSS)[display: [[block]]]]
になります。 (1 では未確認。)
(独自拡張の [CODE(HTMLa)[[[align]]]] 属性を使うと、文字揃え位置を変更できます。)
[12] [[スタイル・シート]]を使うとおおよそどんな要素にもスタイルを指定できるのですが、
[[ブロック水準要素]]であることを除いては表現上の意味を持たない
[CODE(HTMLe)[div]] 要素型は特に便利です。
特に [CODE(HTMLa)[[[class]]]] 属性や [CODE(HTMLa)[[[id]]]]
属性を使って、 HTML を無限に拡張できます。 [SUP[ [HTML 4] ]]
[25]
[CITE[Markup Maker - Takes a simple list of page ids that you enter and converts it to a valid XHTML document | Developer Tools | Accessify]] <http://accessify.com/tools-and-wizards/developer-tools/markup-maker/>
([[名無しさん]] [WEAK[2006-09-30 23:49:08 +00:00]])
[26]
[CITE[div要素直下にインライン要素:メモランダム]] ([CODE[2007-07-09 20:54:42 +09:00]] 版) <http://mynotes.jp/blog/2007/07/inline_in_div>
([[名無しさん]])
[27]
[CITE[Re: div 要素はなぜ「div」という名前を与えられたのか (agenda)]] ([TIME[2007-12-18 20:32:38 +09:00]] 版) <http://jintrick.net/agenda/2007/12/re-div-div.html>
** [CODE(XMLe)@en[div]] 要素 (XBL)
@@
[38] [[XBL2]] の [DFN[[CODE(XMLe)@en[[[div]]]] [[要素]]]]は、・・・
** [CODE(XMLe)@en[w:div]] 要素 (OOXML)
@@
[39] [[OOXML]] の [DFN[[CODE(XMLe)@en[[[div]]]] [[要素]]]]は、・・・
** [CODE(XMLe)@en[div]] 要素 (SMIL)
[28] [CITE[SMIL 3.0 smilText]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-text.html#edef-textDiv>
** [CODE(SGMLe)[div]] 要素型 (SGML)
[15] [DFN[[CODE(SGMLe)[div]]]] は、[[章節]]のような構造を表す[[共通識別子]]として色々な
[[SGML応用]] (例えば [[TEI]]) で使われています。
**
[40] [CITE@ja[どこまで続く!? 経済産業省の公式サイトに掲載されているページがすごい - はてなブックマークニュース]]
( ([TIME[2010-12-13 23:41:47 +09:00]] 版))
<http://b.hatena.ne.jp/articles/201012/2141>
[41] [CITE['''['''whatwg''']''' wrapper element]]
([TIME[2011-06-09 16:28:26 +09:00]] 版)
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-June/031977.html>
[42] [CITE[CSS Print Profile]]
( ([TIME[2013-03-14 20:50:03 +09:00]] 版))
<http://www.w3.org/TR/2013/NOTE-css-print-20130314/#s.8.1>
[43] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#the-div>
[44] [CITE[Welcome to Netscape Navigator Version 2.0]]
( ([TIME[2014-04-07 08:49:45 +09:00]] 版))
<http://web.archive.org/web/20030202175634/http://wp.netscape.com/eng/mozilla/2.0/relnotes/windows-2.0.html#Images>
** [CODE(HTMLe)@en[di]] 要素
[46] [[XHTML2]] の第7次案で追加されました。
;; [CITE@en[XHTML 2.0 - XHTML List Module]] ([TIME[2005-05-28 06:57:41 +09:00]] 版) <http://www.w3.org/TR/2005/WD-xhtml2-20050527/mod-list.html#edef_list_di>
[47] [[HTML5]] に対しても [CODE(HTMLe)@en[[[di]]]] [[要素]]の追加提案は幾度もありました。
特に [[Anne]] が支持していましたが、 [[Ian Hickson]] はグループ構造は既存の[[要素]]で十分表現可能で、
[[スタイル付け]]に関しては [[CSS]] で解決するべきだとして追加を拒否しています。
[48] [CITE['''['''whatwg''']''' Request: Explicit grouping within <dl>]] ([CODE[2007-05-27 03:53:26 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-May/011511.html>
[49] [CITE['''['''whatwg''']''' several messages about the <di> proposal]] ([CODE[2007-03-01 16:31:39 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-February/009712.html>
[50] [CITE[我的春秋: 定義リストの違和感]] ([CODE[2007-05-27 12:04:02 +09:00]] 版) <http://my-chunqiu.cocolog-nifty.com/blog/2007/05/post_d769.html>
([[名無しさん]] [WEAK[2007-05-27 03:06:01 +00:00]])
[51] [CITE@en[XHTML2 lists]] ([[Liorean]] 著, [CODE[2002-10-03 04:06:50 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-html/2002Oct/0009.html>
[52] [CITE[''''''[''''''whatwg'''''']'''''' <di>? Please?]]
( ([TIME[2012-02-04 10:20:15 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-February/034619.html>
[53] 十数年の時を経て[TIME[2016年10月][2016-10]]、ようやく [CODE(HTMLe)@en[div]]
[[要素]]の新用法としてグループ化が実現しました。
[45] [CITE@en[Allow <div> around each <dt><dd> group in <dl> (#1945)]]
([[zcorpan]]著, [TIME[2016-10-31 17:25:43 +09:00]])
<https://github.com/whatwg/html/commit/5454d702e0262749aba55576dda32c48e0e498f0>
[54] [CITE@en[Allow <div> to group <li> inside <ol>/<ul>… · Issue #2007 · whatwg/html]]
([TIME[2016-11-04 15:08:15 +09:00]])
<https://github.com/whatwg/html/issues/2007>
[FIG(quote)[
[FIGCAPTION[
[55] [CITE@en[Minutes '''['''was: Agenda for 971023 HTML WG meeting''']''']]
([[Dan Connolly]]著, [TIME[1997-10-24 03:37:08 +09:00]])
<https://lists.w3.org/Archives/Public/w3c-wai-hc/1997OctDec/0160.html>
]FIGCAPTION]
>
> some question about <DIV>; for now, stays %block;.
>
]FIG]
[56] [CITE@en[Bring outdated parts of the FAQ up to date]]
([[sideshowbarker]]著, [TIME[2017-09-07 04:38:34 +09:00]])
<https://github.com/whatwg/html/commit/5d512fe6f54a332d13ff2d0fee59f12a8d1701b3>