* br 要素型 (HTML, XHTML 1) [1] [DFN[[CODE(HTMLe)[br]] 要素]]は、文 (text) の現在の行を強制的に中断 (終了) させます。 [9] 仕様書: -[[SI 4281]]:1998 --[CSECTION[6.1.4 Elements with no directionality]] -[[HTML 4]] -- [2] :[[開始タグ]]:必須 :[[終了タグ]]:禁止 :[[内容模型]]:[[強制空要素]] :[[属性]]: ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[clear]]]] , , ,流し込み制御 ,[HTML4] 非推奨 ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr [5] [[Dan Connolly]] の [[html.dtd]] に最初に [CODE(HTMLe)[br]] 要素型が定義されたのは [Q[1.7.2.2 1994/04/01 20:30:17]] で、属性無しの強制空要素でした。 (おそらく実装に合わせて) DTD に追加はしたものの、[[実体参照]] [CODE(HTML)[&br;]] を定義して、それを使うべきだと (少なくても Dan は) 考えていた模様です。 ([[名無しさん]]) [6] ちなみに、 [CODE(HTML)[[[nbsp]]]] が最初に定義されたのが少し前の [Q[1.6]] ([[HTML 1.0]] I-D の版) です。こちらも、[[処理指令]]として定義しようと考えていたようです。 ([[名無しさん]]) [7] >>5 [CODE(HTMLe)[br]] 要素型の登場はもうちょっと遡れます。 [[www-talk]] で詩や住所のマークの仕方が話題にのぼりました。 [WEAK[(どこかで聞いたような話だ。)]] その話の中で、 ''Re: RE two PREs <9306250423.AA12611@wintermute.ncsa.uiuc.edu>'' (1993年6月24日) で、 [[Marc Andreessen]] が、新しい行を表すものがあればいい、と言いました。 これを受けて [[Dave Raggett]] が、 ''Re: RE two PREs <9306251045.AA14172@manuel.hpl.hp.com>'' (1993年6月25日) で [[HTML+]] に [CODE(HTMLe)[br]] を追加した、と言っています。 [[NCSA Mosaic]] に実装されたのがいつなのかは分かりません。 ([[名無しさん]]) [8] HTML 4 DTD の注釈 (参考) には [Q[forced line break]] ([Q[強制改行]]) とあります。 ([[名無しさん]] [sage]) [[#comment]] ** レンダリング [3] >>1 の通り、[[視覚UA]] では、強制的に[[改行]]されます。 [[bidi]] 算法の適用にあたっては、 [CODE(char)[LINE SEPARATOR]] 文字と同じように扱うべき (should) と HTML 4 は言っています。 [4] [CODE(HTMLa)[clear]] 属性 (非推奨) が使われているときは、 [[流し込み]]がその値に従って制御されます。 この機能は今では[[スタイルシート]]を使うことになっています。 [[CSS]] なら [CODE(CSS)[[[clear]]]] 属性を使います。 [10] '''Bidi との関係''': [CODE(HTMLe)[[[br]]]] [[要素]]は、 [[bidi]] 的には単なる[[改行]]であって特に影響はありません。 [SRC[SI 4281 6.1.4]] [[#comment]] ** 実装について - [1] [[WinIE]] 向け、 [CODE(HTML)[
]] のようにして改行幅を調整するらしい。何か間違っている気がする。とはいうものの、 [[CSS2]] 的には [CODE(HTML)[br]] 要素は [CODE(CSS)[br:after{content:"\A"}]] だから、それで行の高さが変わるなら別にいいような気もする。 - [2] >>1 でも [CODE(CSS)[\A]] == [CODE(char)[[[LF]]]] は[[改行]]だから。。。 [[#comment]] * メモ