* [CODE(HTMLe)@en[wbr]] 要素 (HTML)
[2] [[HTML]] の [DFN[[CODE(HTMLe)@en[[[wbr]]]] [[要素]]]]は、
[[改行]]が可能な[[位置]]を表します。
[SRC[>>12]]
[3]
:状態:非標準
:[[名前空間URI]]:[CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]
:[[局所名]]:[CODE(HTMLe)@en[[[wbr]]]]
([Q@en[''w''ord ''br''eak]] より [SRC[>>12]])
:[[開始タグ]]:必須
:[[終了タグ]]:禁止
:文脈:
:[[内容モデル]]:[[空]]
:[[属性]]:
** レンダリング
[5] [CODE(HTMLe)[[[nobr]]]] 要素内は通常[[空白]]等で行われる自動的な[[行]]の[[折返し]]が行われませんが、
それでは表示可能な領域に収まりきらない場合、 [CODE(HTMLe)[wbr]]
要素があればその位置が折返しの候補となります。
[WEAK[(必ず折返されるわけではありません。)]]
[[#comment]]
** 歴史
[12] [CODE(HTMLe)@en[[[wbr]]]] [[要素]]は [[HTML 2.0]]
の拡張として [[Netscape Navigator]] が実装しました。
[CODE(HTMLe)@en[[[nobr]]]] 内で[[改行]]したい場所を指定したい稀な場合に使えること、
任意の場所で[[改行]]可能な場所を[[利用者エージェント]]に伝えるために使えることが説明されていました。
[CODE(HTMLe)@en[[[br]]]] [[要素]]とは異なり、
[[改行]]が必要な時だけしか[[改行]]しないことも説明されていました。
;; [CITE[Netscape Navigator Extensions to HTML]]
[[#comment]]
** 実装
[4] この要素型ははじめ [[Netscape]] が
[CODE(HTMLe)[[[nobr]]]] 要素型と共に実装し、
[[WinIE]] など他の実装でも採用されました。
[1] [[WinIE]] 3.0 では [CODE(HTMLe)[[[nobr]]]] 要素内の最後の
[CODE(HTMLe)[wbr]] 要素が機能しない不具合があったそうです。
出典:
[CITE[ブラウザーによって振る舞いの異なるタグ : 他にもありますか?]]
[[#comment]]
** 関連
[6] '''[CODE(charname)[SOFT HYPHEN]]''':
似たような働きをする[[文字]]に [CODE(charname)[[[SOFT HYPHEN]]]]
([CODE(charname)[[[SHY]]]]) があります。
[CODE(charname)[[[SHY]]]] は[[ハイフン付け]]に使われる[[文字]]で、
[[折返し]]の候補となりますが、折返される時は
[CODE(charname)[[[HYPHEN]]]] のように表示され、
折返されない時やレンダリング以外の時は存在しないように扱われます。
[CODE(HTMLe)[wbr]] 要素との違いは、
[CODE(charname)[[[HYPHEN]]]] のようなものが表示されることと、
[CODE(HTMLe)[[[nobr]]]] 要素内に限らず使用できることです。
[[#comment]]
** 例
[8] [[URI]] の改行可能位置を指定する例
[PRE(HTML deprecated example code)[
<[CODE(HTMLe)[p]]>詳しくは
<[CODE(HTMLe)[nobr]]><[CODE(HTMLe)[code]]>http://<[CODE(HTMLe)[wbr]]>example.com/<[CODE(HTMLe)[wbr]]>very/very/very/<[CODE(HTMLe)[wbr]]>really/long/<[CODE(HTMLe)[wbr]]>uri<[CODE(HTMLe)[wbr]]>#reference[CODE(HTMLe)[code]]>[CODE(HTMLe)[nobr]]>
を参照して下さい。[CODE(HTMLe)[p]]>
]PRE]
[13]
[CITE@ja[CM事情?|天然だけど夢はある。]] ([TIME[2007-07-05 20:47:03 +09:00]] 版)
>
[PRE(HTML example code)[
http://www.intel.co.jp/jp/personal/campaign/promotion/blog/index.htm
]PRE]
([[名無しさん]])
[[#comment]]
** メモ
[7] [CODE(HTMLe)[[[nobr]]]] は [[CSS]] の
[CODE(CSS)[[[white-space]]: [[nowrap]]]] で代替できますが、
[CODE(HTMLe)[[[wbr]]]] の代替は今のところありません。
[[頁]]境界における [CODE(CSS)[[[page-break-after]]]]
のようなものに相当する [CODE(HTMLe)[[[wbr]]]]
の代替が将来導入されることが期待されます。また、
[[ハイフン付け]]に関する制御も行えるようになることが期待されます。
但しそれとは別に[[文書木]]中の折返しを表す[[マーク付け]]の構造はやはり必要です。
[WEAK[(それが [[HTML]] の一部であるかどうかは別として。あるいは [[HTML]] なら [CODE(HTMLe)[[[span]]]] の[[空要素]]を挿入するという手もありかもしれません。)]]
[9]
[[Safari]] では[[内容]]を持ちます。
([[名無しさん]])
[10]
[CITE[airheadの日記]] [CSECTION[bookmarklet: Wrap! ― 長い1byte文字列を折り返す(Mozilla)]]
([[名無しさん]] [sage])
[11]
ちなみに、 [[Gecko]] は隣接する [CODE(DOMi)@en[[[Text]]]] [[節点]]同士の境界も折返し候補とするようです。
(仕様か偶然かは不明)
([[名無しさん]] [sage])
[[#comment]]
* メモ