CSS Text Decoration

CSS Text Decoration

構文

[15]

CSSOM

スタイル・シートの CSSOM 表現

WinIE

[9] WinIE 6CSS で与えられた値から CSSOM に現れる値へと次のように変換するようです:

  1. 基本的に、空白区切りIDENT並びと見なします。もちろん先頭と末尾に空白があってもおkです。escape があってもおkです。大文字小文字は区別しません (ASCII; U+0130 はだめでした)。
  2. 注釈は挿入できますが、前後に空白なしで注釈を使うと宣言ごと無視されます。
  3. IDENT が1つもないと宣言ごと無視されます。
  4. 理解する値なら何個使っても構いません。理解しない値があると宣言ごと無視されます。
  5. 以上で無視されていなければ、まず、 textDecorationNone, textDecorationUnderline, textDecorationOverline, textDecorationLineThrough, textDecorationBlink をすべて false にします。
  6. 前から順に IDENT を見ていきます。それぞれ、
    1. 対応する属性true を設定していきます。
    2. ただし、 none の場合は、それ以外の属性をすべて false にします。

例えば、 underline none blink blink だと textDecorationNonetextDecorationBlinktrue、 他は false になります。

(名無しさん)

[10] WinIE 6 では、textdecorationunderline という特性CSS で与えると、なぜか4文字 (空白は含み、注釈は含まない、ただし特性値全体の最初と最後の空白は含まない) の場合 (宣言ごと無視) を除き、 textDecorationUnderlinetrue に設定されます。 (名無しさん)

[11] WinIE 6 の通常(?)の CSSOM の方の text-decoration の値は、 SPACE 1個で区切られた小文字escapeなしの IDENT並びになります。 対応する個別の属性true なら、それが追加されます。 順序は none, underline, overline, line-through, blink です。 対応する属性がすべて false なら、 空文字列になります。

Opera

[12] Opera 9 の CSSCSSOM

Firefox

[13] Firefox 2 >>12 と同じですが、値は高々4つしか指定できません。それ以上あると宣言ごと無視されます。

Firefox

[410] 値は blink underline overline line-through の順序に正規化されます。

Chrome

[411] 値の順序は正規化されません。同じものを複数回指定でき、そのままでてきます。

[412] none が1つ目の字句だとそれ以後何があっても無視されて none だけになります。

算出値

WinIE

[4] reading CSS textdecoration - JavaScript (2008-01-02 11:02:47 +09:00 版) http://www.thescripts.com/forum/thread89231.html (名無しさん)

[5] >>4 確かに WinIE 6 では underline しか currentStyletextDecoration からは返されない: http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20text-decoration%3A%20overline%20underline%3B%0D%0A%7D%0D%0A;h=%3Cp%20onclick%3D%22%0D%0A%20%20w%20(this.currentStyle.textDecoration)%3B%0D%0A%22%3EClick%20this%20paragraph%20to%20show%20the%20computed%20(%3F)%20value%20of%20the%20'%3Ccode%3Etext-decoration%3C%2Fcode%3E'%20property.%0D%0A;p=n;x=style-element

(名無しさん)

[6] >>5 スタイル・シート本体の方の textDecoration からは全部返ってくるのに。もちろん Opera 9 ではどちらも返ってくるのに。 (名無しさん)

[7] >>5 WinIE 6currentStyletextDecoration で返されるのは、 underlineoverlineline-throughnone の順で最初に適用されるもののようです (どれもなければ none)。 blinkCSSOM 上にあっても無視されるようです。 (名無しさん)

[8] WinIE 6textDecorationUnderline などの個別の属性currentStyle の方には存在していないようです (undefined)。

実装

下線のレンダリング

[3] text-decoration周りのバグ:メモランダム (2007-04-12 17:17:48 +09:00 版) http://mynotes.jp/blog/2007/04/text_decoration_bug (名無しさん 2007-04-12 13:18:50 +00:00)

Firefox2でfirst-letter疑似要素にtext-decoration:underlineを指定すると下線の位置がおかしい。IE7でfirst-letter疑似要素にtext-decoration:noneを指定すると下線が消える。

端末におけるレンダリング

[14] GNU `gettext' utilities ( 版) http://www.gnu.org/software/gettext/manual/gettext.html#Style-rules

This property is supported, limited to the values none and underline.

XFA における実装

[2] XFA 2.4 948頁

This attribute is defined as:

text-decoration:decorationStyle [ line-through ]

or

text-decoration: line-through [ decorationStyle ]

The following table describes the decorationStyle values.

decorationStyle
underlineSingle continuous underline
wordSingle underline that breaks at word boundaries
doubleDouble continuous underline
double wordDouble underline that breaks at word boundaries

Note that double word has whitespace between the words, not a hyphen.

[1]

text-decoration: underline -moz-anchor-decoration;

[406] CSS Text Decoration Module Level 3 ( ( 版)) http://www.w3.org/TR/2012/WD-css-text-decor-3-20121113/

[407] CSS Text Decoration Module Level 3 ( ( 版)) http://www.w3.org/TR/2013/WD-css-text-decor-3-20130103/

[408] » CSS Level 3 Text Decoration on WebKit and Blink – status Bruno Abinader's Blog ( ( 版)) http://www.abinader.com.br/2013/05/15/css-level-3-text-decoration-on-webkit-and-blink-status/

[409] CSS Text Decoration Module Level 3 ( ( 版)) http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/

[16] 1122897 – text-decoration is propagated to absolutely positioned and floated descendants in quirks mode ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=1122897

[17] [css-text-decor-4] Floor thickness at 1 device pixel (fantasai著, ) https://github.com/w3c/csswg-drafts/commit/82bf345b88eb90881bdf7c4f5a3d190638a9ee25

[18] CSS Text Decoration Module Level 4 () https://www.w3.org/TR/2018/WD-css-text-decor-4-20180313/

[19] [css-text-decor-3] Add U+2053 SWUNG DASH to list of Po exceptions, pe… (fantasai著, ) https://github.com/w3c/csswg-drafts/commit/830f5e53ef35b94f50a6ba38e8485096e5a992be