| 1 |
wakaba |
1.1 |
|
| 2 |
|
|
|
| 3 |
|
|
* font 要素型 (HTML, XHTML 1) |
| 4 |
|
|
|
| 5 |
|
|
[4] [[HTML]] の [DFN[[CODE(HTMLe)[font]] 要素型]]の要素は、 |
| 6 |
|
|
文字の大きさや色を変更します。 |
| 7 |
|
|
|
| 8 |
|
|
[5] 仕様書: |
| 9 |
|
|
- [[HTML 4]] |
| 10 |
|
|
-- 15.2.2 Font modifier elements: [CODE(HTMLe)[FONT]] and [CODE(HTMLe)[BASEFONT]] |
| 11 |
|
|
<IW:HTML4:"present/graphics.html#edef-FONT"> |
| 12 |
|
|
|
| 13 |
|
|
[6] |
| 14 |
|
|
:[[局所名]]:[CODE(HTMLe)[font]] |
| 15 |
|
|
:[[名前空間名]]:[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] |
| 16 |
|
|
:[[開始タグ]]:必須 |
| 17 |
|
|
:[[終了タグ]]:必須 |
| 18 |
|
|
:[[内容模型]]:[CODE(SGML)[(%[[inline]];)*]] |
| 19 |
|
|
:出現できる文脈:[CODE(SGML)[%inline]] な文脈 |
| 20 |
|
|
:[[属性]]: |
| 21 |
|
|
,属性名 ,属性値 ,既定値 ,説明 ,状態 ,出典 |
| 22 |
|
|
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] |
| 23 |
|
|
,[CODE(HTMLa)[[[color]]]] ,[CODE(SGML)[%[[Color]]]] ,(継承) ,文字色 ,[HTML 4] 非推奨 |
| 24 |
|
|
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]] |
| 25 |
|
|
,[CODE(HTMLa)[[[effect]]]] , , ,表示効果 ,非標準 ,[[WebTV]] |
| 26 |
|
|
,[CODE(HTMLa)[[[face]]]] , ,(継承) ,書体 ,[HTML 4] 非推奨 |
| 27 |
|
|
,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr |
| 28 |
|
|
,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n |
| 29 |
|
|
,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1] |
| 30 |
|
|
,[CODE(HTMLa)[[[point-size]]]] , , ,文字の大きさ (ポイント単位) ,非標準 |
| 31 |
|
|
,[CODE(HTMLa)[[[size]]]] , ,(継承) ,文字の大きさ ,[HTML 4] 非推奨 |
| 32 |
|
|
,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr |
| 33 |
|
|
,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr |
| 34 |
|
|
,[CODE(HTMLa)[[[weight]]]] , , ,太さ ,非標準 |
| 35 |
|
|
,[CODE(XMLa)[[[xmlns]]]] ,[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] 固定 ,[[名前空間名]] ,W3C 勧告 ,[[XHTML m12n]] |
| 36 |
|
|
|
| 37 |
|
|
|
| 38 |
|
|
[10] なぜか HTML 4 では [CODE(SGML)[%[[event]]]] 属性集合が含まれていません。 |
| 39 |
|
|
|
| 40 |
|
|
[[#comment]] |
| 41 |
|
|
|
| 42 |
|
|
|
| 43 |
|
|
** 代替 |
| 44 |
|
|
|
| 45 |
|
|
[8] この要素型は'''[RUBYB[非推奨] [deprecated]]'''です。 |
| 46 |
|
|
代わりに、[[スタイル・シート]]を利用できます。 |
| 47 |
|
|
|
| 48 |
|
|
[9] [[CSS]] なら、 [CODE(HTMLa)[face]] 属性を |
| 49 |
|
|
[SAMP(CSS)[[[font-family]]]] 特性、 [CODE(HTMLa)[color]] |
| 50 |
|
|
属性を [SAMP(CSS)[[[color]]]] 特性、 [CODE(HTMLa)[size]] |
| 51 |
|
|
属性を [SAMP(CSS)[[[font-size]]]] 特性で指定できます。 |
| 52 |
|
|
|
| 53 |
|
|
[[#comment]] |
| 54 |
|
|
|
| 55 |
|
|
|
| 56 |
|
|
** 他との関係 |
| 57 |
|
|
|
| 58 |
|
|
[7] [CODE(HTMLe)[font]] 要素を使わない時や属性を省略した時や |
| 59 |
|
|
[CODE(HTMLa)[size]] 属性で相対指定を行った時の基底 (既定) |
| 60 |
|
|
の値は、 [CODE(HTMLe)[[[basefont]]]] 要素の指定によります。 |
| 61 |
|
|
|
| 62 |
|
|
[[#comment]] |
| 63 |
|
|
|
| 64 |
|
|
|
| 65 |
|
|
** 不思議解釈 |
| 66 |
|
|
|
| 67 |
|
|
[1] 【[[HP]]】 文字を表示させるための[[タグ]]。 |
| 68 |
|
|
|
| 69 |
|
|
[2] 一説に、表示させる全ての文字列は [CODE(HTMLe)[font]] |
| 70 |
|
|
タグで囲んでおかないといけないらしい。 ([[XUL]] |
| 71 |
|
|
でどの[[箱]]にも属さないものは表示されない、みたいなもんだな。) |
| 72 |
|
|
|
| 73 |
|
|
[3] >>2 でも、当のその解説が [CODE(HTMLe)[font]] |
| 74 |
|
|
タグに囲まれていない文字列を書いていたりするが。 |
| 75 |
|
|
|
| 76 |
|
|
[[#comment]] |
| 77 |
|
|
|
| 78 |
|
|
|
| 79 |
|
|
** 歴史 |
| 80 |
|
|
|
| 81 |
|
|
[17] |
| 82 |
|
|
[CODE(HTMLe)@en[[[font]]]] [[要素]]は、[[HTML 2.0]] |
| 83 |
|
|
の拡張として [[Netscape Navigator]] が実装しました。 |
| 84 |
|
|
|
| 85 |
|
|
当初は [CODE(HTMLa)@en[[[size]]]] [[属性]]だけが定義されていました。 |
| 86 |
|
|
|
| 87 |
|
|
;; [CITE[Netscape Navigator Extensions to HTML]] |
| 88 |
|
|
<http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html> |
| 89 |
|
|
|
| 90 |
|
|
[18] |
| 91 |
|
|
[CITE[IRC logs: w3c / #html-wg / 20070330]] ([CODE[2007-03-31 21:23:37 +09:00]] 版) <http://krijnhoetmer.nl/irc-logs/html-wg/20070330#l-991> |
| 92 |
|
|
|
| 93 |
|
|
> # # [20:56] <Hixie> the <font> and style="" issue in HTML5 isn't even remotely decided yet |
| 94 |
|
|
> # # [20:56] <Hixie> the current text is clearly not acceptable to a majority of people and will be changing |
| 95 |
|
|
|
| 96 |
|
|
([[名無しさん]]) |
| 97 |
|
|
|
| 98 |
|
|
|
| 99 |
|
|
[39] |
| 100 |
|
|
[CITE@en[<font> and style="" in HTML5]] ([[Ian Hickson]] 著, [TIME[2008-04-29 21:21:45 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-html/2008Apr/0795.html> |
| 101 |
|
|
([[名無しさん]]) |
| 102 |
|
|
|
| 103 |
|
|
|
| 104 |
|
|
[[#comment]] |
| 105 |
|
|
|
| 106 |
|
|
|
| 107 |
|
|
** メモ |
| 108 |
|
|
|
| 109 |
|
|
[[#comment]] |
| 110 |
|
|
|
| 111 |
|
|
|
| 112 |
|
|
* メモ |
| 113 |
|
|
|
| 114 |
|
|
[11] |
| 115 |
|
|
[SAMP(CSS)[font: -moz-field;]] |
| 116 |
|
|
([[名無しさん]] [sage]) |
| 117 |
|
|
|
| 118 |
|
|
[12] |
| 119 |
|
|
[SAMP(CSS)[font: medium -moz-fixed;]] |
| 120 |
|
|
([[名無しさん]] [sage]) |
| 121 |
|
|
|
| 122 |
|
|
[13] |
| 123 |
|
|
[SAMP(CSS)[font: -moz-list;]] |
| 124 |
|
|
([[名無しさん]] [sage]) |
| 125 |
|
|
|
| 126 |
|
|
[14] |
| 127 |
|
|
[SAMP(CSS)[font: -moz-button;]] |
| 128 |
|
|
([[名無しさん]] [sage]) |
| 129 |
|
|
|
| 130 |
|
|
[15] |
| 131 |
|
|
[CODE(CSS example)@en[font: [[-webkit-small-control]];]] |
| 132 |
|
|
([[名無しさん]] [sage]) |
| 133 |
|
|
|
| 134 |
|
|
[16] |
| 135 |
|
|
[CODE(CSS example)@en[font: [[-webkit-small-control]];]] |
| 136 |
|
|
([[名無しさん]] [sage]) |
| 137 |
|
|
|
| 138 |
|
|
[19] |
| 139 |
|
|
テスト用: |
| 140 |
|
|
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20font%3A%20menu%3B%0D%0A%7D%0D%0A%0D%0A%0D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20sd%20()%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3ECSSOM%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element> |
| 141 |
|
|
|
| 142 |
|
|
([[名無しさん]]) |
| 143 |
|
|
|
| 144 |
|
|
[20] |
| 145 |
|
|
[[WinIE 6]] の[[構文解析]]: |
| 146 |
|
|
= [[空白]]を0以上読み飛ばします。 |
| 147 |
|
|
= 次の値として[[システム・フォント]] |
| 148 |
|
|
([[ASCII]] [[大文字]]/[[小文字]][[一致]]) が指定されていれば |
| 149 |
|
|
(そしてそれ以降に[[空白]]以外何もなければ)、 |
| 150 |
|
|
それを [CODE(DOMa)@en[[[font]]]] に設定します |
| 151 |
|
|
([[escape]] は除去しますが、[[大文字]]・[[小文字]]はそのままです)。 |
| 152 |
|
|
以降の処理は行いません (関連 [[longhand]] についても何もしません)。 |
| 153 |
|
|
= まず、[CODE(CSS)@en[[[font-weight]]]], |
| 154 |
|
|
[CODE(CSS)@en[[[font-style]]]], |
| 155 |
|
|
[CODE(CSS)@en[[[font-variant]]]] の部分です。 |
| 156 |
|
|
== 3つのうちいずれか1つで ([[WinIE 6]] が) 解釈可能な値なら、 |
| 157 |
|
|
該当する[[特性]]にその値を設定します。 |
| 158 |
|
|
=== これによって3つの[[特性]]がすべて明示的に設定されれば、 |
| 159 |
|
|
次へ進みます。 |
| 160 |
|
|
=== [CODE(CSS)[[[100]]]]〜[CODE(CSS)[[[900]]]] は |
| 161 |
|
|
[CODE(CSS)@en[[[font-weight]]]] の値とみなされますが、 |
| 162 |
|
|
[[小数点]]が含まれる場合やそれ以外の [CODE(CSS)@en[<[[number]]>]] |
| 163 |
|
|
の場合には [CODE(CSS)@en[[[font-weight]]]] とはみなされません。 |
| 164 |
|
|
== [CODE(CSS)@en[[[normal]]]] なら無視します。 |
| 165 |
|
|
== それ以外の値の場合は次へ進みます。 |
| 166 |
|
|
== [[空白]]を読み飛ばし、繰り返します。ただし1つも[[空白]]がなければ構文エラーです。 |
| 167 |
|
|
= [[空白]]を読み飛ばします (これ以前になにかあったら1つ以上必要で、 |
| 168 |
|
|
なければ構文エラーです)。 |
| 169 |
|
|
= 次の値を [CODE(CSS)@en[[[font-size]]]] として解釈します。 |
| 170 |
|
|
== [[奇癖モード]]では[[単位]]なしの [CODE(CSS)@en[<[[number]]>]] |
| 171 |
|
|
は [CODE(CSS)@en[[[px]]]] [[単位]]とみなされます |
| 172 |
|
|
([[CSSOM]] に現れる値は[[単位]]補完済み)。 |
| 173 |
|
|
== 解釈できなければ構文エラーです。 |
| 174 |
|
|
= [[空白]]を0以上読み飛ばします。 |
| 175 |
|
|
= [CODE(CSS)@en[[[/]]]] があれば、 |
| 176 |
|
|
== 注意: ここで[[空白]]を読み飛ばしません ([[注釈]]は通常通り読み飛ばします)。 |
| 177 |
|
|
== [CODE(CSS)@en[[[line-height]]]] として解釈します。 |
| 178 |
|
|
=== [CODE(CSS)@en[<[[number]]>]] の場合、その直後にごみがあれば読み飛ばします。 |
| 179 |
|
|
例えば [CODE(CSS)[20em/1""s""eeearaaaaaaa""a"a"]] |
| 180 |
|
|
なら [CODE(CSS)@en[font-size: 20em; line-height: 1]] で、 |
| 181 |
|
|
それ以降の部分は読み飛ばします。 (この部分の正確な動作は不明です。) |
| 182 |
|
|
== 解釈できなければ [CODE(CSS)@en[[[line-height]]]] には何も |
| 183 |
|
|
([[初期値]]すら!) 設定しません。これは構文エラーではありません。 |
| 184 |
|
|
== [[空白]]を読み飛ばします。1つ以上なければ構文エラーです。 |
| 185 |
|
|
= 残りを [CODE(CSS)@en[[[font-family]]]] として解釈します。 |
| 186 |
|
|
解釈できなければ構文エラーです。 |
| 187 |
|
|
= 以上で設定しなかった [[longhand]] には[[初期値]]を設定します。 |
| 188 |
|
|
= ただし、構文エラーがあるときは通例通り[[宣言]]ごと[[無視]]されます。 |
| 189 |
|
|
= また、他の[[特性]]同様、[[注釈]]は値の途中だろうと無視されます。 |
| 190 |
|
|
|
| 191 |
|
|
([[名無しさん]]) |
| 192 |
|
|
|
| 193 |
|
|
[21] |
| 194 |
|
|
[[Opera]] 9 の[[構文解析]]: |
| 195 |
|
|
- おそらくほぼ [[CSS 2.1]] 通りです。 |
| 196 |
|
|
- [CODE(CSS)@en[[[font-family]]]]、 |
| 197 |
|
|
[CODE(CSS)@en[[[font-weight]]]] が[[CSSOM]] に現れる値が[[使用値]] (?) |
| 198 |
|
|
になるのは [[longhand]] のときと同じです。 |
| 199 |
|
|
- [[システム・フォント]]が指定されたときには |
| 200 |
|
|
[CODE(CSS)@en[[[font-family]]]] にその値が入ります。 |
| 201 |
|
|
他の [[longhand]] はそのままです ([[初期値]]を設定しません)。 |
| 202 |
|
|
-- なお、 [CODE(CSS)@en[[[font-family]]: [[menu]]]] や |
| 203 |
|
|
[CODE(CSS)@en[[[font]]: 1[[px]] [[menu]]]] |
| 204 |
|
|
のように [CODE(CSS)@en[<'[[font-family]]'>]] |
| 205 |
|
|
として[[システム・フォント]]を指定しようとしても、 |
| 206 |
|
|
[[システム・フォント]]ではなく、実際の[[フォント名]]として解釈しようとするらしく、 |
| 207 |
|
|
(システム上に存在しないので) [[空文字列]]になります。 |
| 208 |
|
|
- [[無奇癖モード]]、[[奇癖モード]]とも、 |
| 209 |
|
|
[CODE(CSS)@en[[[font-size]]]] として |
| 210 |
|
|
[CODE(CSS)@en[<[[number]]>]] を指定できません ([CODE(CSS)[[[0]]]] |
| 211 |
|
|
も駄目です)。 |
| 212 |
|
|
- [CODE(CSS)@en[[[font-weight]]]] で [CODE(CSS)[[[100]]]] [[以上]] |
| 213 |
|
|
[CODE(CSS)[[[900]]]] [[以下]]のどんな値も指定できるのは |
| 214 |
|
|
[[longhand]] と同じ。 |
| 215 |
|
|
|
| 216 |
|
|
([[名無しさん]]) |
| 217 |
|
|
|
| 218 |
|
|
[22] |
| 219 |
|
|
>>21 [CODE(CSS)@en[[[font-weight]]]] で [[CSSOM]] |
| 220 |
|
|
に現れる値は[[使用値]]ではなく、指定されている値を丸めたものですが、 |
| 221 |
|
|
なぜか 100 の倍数だと 100 少ない値になるようです。 |
| 222 |
|
|
[CODE(CSS)[[[100]]]] のときは [CODE(CSS)[[[400]]]] になります。 |
| 223 |
|
|
|
| 224 |
|
|
;; <http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20font%3A%20900%201em%20serif%3B%0D%0A%7D;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20sd%20()%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3ECSSOM%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element> は [CODE(CSS)[[[900]]]] のはずがなぜか |
| 225 |
|
|
[CODE(CSS)[[[800]]]]。 |
| 226 |
|
|
|
| 227 |
|
|
また、 [CODE(CSS)@en[[[font]]: 1[[em]] [[serif]]]] |
| 228 |
|
|
のような[[共通族名]]は[[使用値]] (?) に置き換えられます。 |
| 229 |
|
|
[CODE(CSS)@en[[[font-family]]: [[serif]]]] |
| 230 |
|
|
と [[longhand]] で指定したときはそのままなのに。 |
| 231 |
|
|
([[名無しさん]]) |
| 232 |
|
|
|
| 233 |
|
|
[23] |
| 234 |
|
|
[[Firefox]] 2: |
| 235 |
|
|
- ほぼ [[CSS 2.1]] 通りのようです。 |
| 236 |
|
|
- [CODE(CSS)@en[[[small-caps]] [[normal]] <'[[font-weight]]'> (以下略)]] |
| 237 |
|
|
はなぜか[[宣言]]ごと[[無視]]されます (順序を入れ替えたり、 |
| 238 |
|
|
他の値の組み合わせにしたりしても[[無視]]されませんが、 |
| 239 |
|
|
なぜかこれだけ)。 |
| 240 |
|
|
;; <http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%20small-caps%20normal%20bolder%201em%20serif%3B%0A%7D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20sd%20()%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3ECSSOM%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element> |
| 241 |
|
|
- [[奇癖モード]]では [CODE(CSS)@en[<'[[font-size]]'>]] |
| 242 |
|
|
の[[単位]]がないと [CODE(CSS)@en[[[px]]]] が補完されますが、 |
| 243 |
|
|
[CODE(CSS)[[[100]]]]〜[CODE(CSS)[[[900]]]] の100の[[倍数]]で、 |
| 244 |
|
|
かつ[[小数点]]が入っていない値 ([[先導0]]おk) は |
| 245 |
|
|
[CODE(CSS)@en[<'[[font-weight]]'>]] とみなされますので、 |
| 246 |
|
|
[CODE(CSS)@en[[[font]]: 100 serif]] のような[[宣言]]は[[無視]]されます。 |
| 247 |
|
|
- [[WinIE 6]] や [[Opera]] 9 とは異なり、 [[CSS 2]] にあって |
| 248 |
|
|
[[CSS 2.1]] にない [CODE(CSS)@en[[[font-size-adjust]]]] や |
| 249 |
|
|
[CODE(CSS)@en[[[font-stretch]]]] も[[初期値]]にします。 |
| 250 |
|
|
- [[システム・フォント]]が指定された場合、 |
| 251 |
|
|
[CODE(CSS)@en[[[font-family]]]] にその値 ([[ASCII]] |
| 252 |
|
|
[[小文字]]、[[escape]] 除去済み) が設定されます。 |
| 253 |
|
|
それ以外の [[longhand]] には[[空文字列]]が設定されます。 |
| 254 |
|
|
-- [CODE(CSS)@en[[[font-family]]]] に直接[[システム・フォント]]名を指定しても、 |
| 255 |
|
|
その名前の[[フォント]]を探すだけで、[[システム・フォント]]とは解釈されないようです。 |
| 256 |
|
|
|
| 257 |
|
|
([[名無しさん]]) |
| 258 |
|
|
|
| 259 |
|
|
[24] |
| 260 |
|
|
[[DOM属性]] [CODE(DOMa)@en[[[font]]]]: |
| 261 |
|
|
- [[Opera]] 9 |
| 262 |
|
|
-- ([[初期値]]だろうと) 値が指定されているもの ([[算出値]]の場合は全部) |
| 263 |
|
|
を全部書き出します。 |
| 264 |
|
|
-- 最初の3つは [CODE(CSS)@en[[[font-style]]]]、 |
| 265 |
|
|
[CODE(CSS)@en[[[font-variant]]]]、 |
| 266 |
|
|
[CODE(CSS)@en[[[font-weight]]]] の順。 |
| 267 |
|
|
-- [CODE(CSS)@en[[[font-size]]]] の値が与えられていないと、 |
| 268 |
|
|
その前の[[空白]]と |
| 269 |
|
|
後ろの [CODE(CSS)@en[[[/]]]] も含めてなくなってしまいます |
| 270 |
|
|
([CODE(CSS)@en[[[font-size]]]] の値がない時点で[[非妥当]])。 |
| 271 |
|
|
-- [CODE(CSS)@en[[[line-height]]]] の値が与えられていないと、 |
| 272 |
|
|
その前の [CODE(CSS)[[[/]]]] がなくなるのはよいとして、 |
| 273 |
|
|
その後ろの ([CODE(CSS)@en[[[font-family]]]] の前の) |
| 274 |
|
|
[[空白]]までなくなってしまいます。 |
| 275 |
|
|
-- [CODE(CSS)@en[[[font-family]]]] が指定されていないと、 |
| 276 |
|
|
その前の[[空白]]も含めてなくなってしまいます |
| 277 |
|
|
([CODE(CSS)@en[[[font-family]]]] 部がないのは[[非妥当]])。 |
| 278 |
|
|
-- 従ってどの [[longhand]] もなければ[[空文字列]]になります。 |
| 279 |
|
|
-- それぞれの値は [[longhand]] に対応する [[DOM属性]]の値のようです |
| 280 |
|
|
(例えば [CODE(DOMa)@en[[[currentStyle]]]] や |
| 281 |
|
|
[CODE(DOMm)@en[[[getComputedStyle]]]] のとき |
| 282 |
|
|
[CODE(CSS)@en[[[font-family]]]] は[[使用値]]、 |
| 283 |
|
|
[CODE(CSS)@en[[[bolder]]]] を指定したら普通のは |
| 284 |
|
|
[CODE(CSS)@en[[[bolder]]]]、 |
| 285 |
|
|
[CODE(DOMa)@en[[[currentStyle]]]] は |
| 286 |
|
|
[CODE(CSS)@en[[[bold]]]]、 |
| 287 |
|
|
[CODE(DOMm)@en[[[getComputedStyle]]]] は |
| 288 |
|
|
[CODE(CSS)@en[[[700]]]])。 |
| 289 |
|
|
-- [CODE(CSS)@en[[[font-family]]]] の値が実は[[システム・フォント]]だとしても気にしない。 |
| 290 |
|
|
|
| 291 |
|
|
([[名無しさん]]) |
| 292 |
|
|
|
| 293 |
|
|
[25] |
| 294 |
|
|
>>24 |
| 295 |
|
|
[[Firefox]] 2 |
| 296 |
|
|
- ([[初期値]]だろうと) 値が与えられているものを書くのは >>24 と同じ。 |
| 297 |
|
|
- 順序も >>24 と同じ。 |
| 298 |
|
|
- [CODE(CSS)@en[[[font-size]]]] と [CODE(CSS)@en[[[font-family]]]] |
| 299 |
|
|
が最低限指定されていないと[[空文字列]]になる。 |
| 300 |
|
|
- [CODE(CSS)@en[[[font-family]]]] の値が実は[[システム・フォント]]だとしても気にしない。 |
| 301 |
|
|
- [CODE(DOMm)@en[[[getComputedStyle]]]] では常に[[空文字列]]。 |
| 302 |
|
|
|
| 303 |
|
|
([[名無しさん]]) |
| 304 |
|
|
|
| 305 |
|
|
[26] |
| 306 |
|
|
>>24 [[WinIE 6]] |
| 307 |
|
|
- 5[[特性]]すべてに値が与えられていない限り、[[空文字列]]。 |
| 308 |
|
|
- [[初期値]]以外の値なら現れる。 |
| 309 |
|
|
[CODE(CSS)@en[[[font-size]]]] と [CODE(CSS)@en[[[font-family]]]] |
| 310 |
|
|
は常に現れる。 |
| 311 |
|
|
- 順序は [CODE(CSS)@en[[[font-weight]]]]、 |
| 312 |
|
|
[CODE(CSS)@en[[[font-style]]]]、 |
| 313 |
|
|
[CODE(CSS)@en[[[font-variant]]]]。 |
| 314 |
|
|
- [CODE(DOMa)@en[[[currentStyle]]]] には存在しない |
| 315 |
|
|
([CODE(JS)@en[[[undefined]]]])。 |
| 316 |
|
|
- 各値を [CODE(charname)@en[[[SPACE]]]] 1つで区切る。 |
| 317 |
|
|
([CODE(CSS)@en[[[font-size]]]]と[CODE(CSS)@en[[[line-height]]]] |
| 318 |
|
|
の間は [CODE(CSS)[[[/]]]] 1つ。) |
| 319 |
|
|
|
| 320 |
|
|
([[名無しさん]]) |
| 321 |
|
|
|
| 322 |
|
|
[27] |
| 323 |
|
|
全体的にどのブラウザもどこかがおかしいですが、 |
| 324 |
|
|
そのなかで一番まともそうに見えるのが [[WinIE 6]] |
| 325 |
|
|
だという稀有な例です。 |
| 326 |
|
|
([[名無しさん]]) |
| 327 |
|
|
|
| 328 |
|
|
[28] |
| 329 |
|
|
やっぱり >>27 は取り消し ([[構文解析]]のあれはひどいだろう)。 |
| 330 |
|
|
([[名無しさん]]) |
| 331 |
|
|
|
| 332 |
|
|
[29] |
| 333 |
|
|
[[longhand]] は[[カスケーディング]]の前に [[shorthand]] |
| 334 |
|
|
に分解する (最低でも分解したかのように扱う) 必要があるのですが、 |
| 335 |
|
|
[[システム・フォント]]が指定されるとそういうわけにもいかなくなります。 |
| 336 |
|
|
内部的な特殊な値で ([CODE(CSS example)@en[font-family: -x-menu-font-family; font-size: -x-menu-font-size]] のように) |
| 337 |
|
|
扱うとしても、[[算出値]]の算出時に実際の値に置換する必要があります |
| 338 |
|
|
([CODE(CSS)@en[[[font-size]]]] は [CODE(CSS)@en[[[em]]]] |
| 339 |
|
|
の基準になるので)。 |
| 340 |
|
|
([[名無しさん]]) |
| 341 |
|
|
|
| 342 |
|
|
[30] |
| 343 |
|
|
[[システム・フォント]]が指定されたら [[longhand]] はすべて[[空文字列]]になるらしい (ただし [[should]])。 |
| 344 |
|
|
|
| 345 |
|
|
;; |
| 346 |
|
|
<http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSS2Properties> |
| 347 |
|
|
|
| 348 |
|
|
どのブラウザも違うけど、 [[Firefox]] 2 が一番近いか。 |
| 349 |
|
|
|
| 350 |
|
|
([[名無しさん]]) |
| 351 |
|
|
|
| 352 |
|
|
[31] |
| 353 |
|
|
[CODE(CSS)@en[<'[[font-family]]'>]] が [CODE(CSS)@en[[[inherit]]]] |
| 354 |
|
|
: |
| 355 |
|
|
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20inherit%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div> |
| 356 |
|
|
|
| 357 |
|
|
([[名無しさん]]) |
| 358 |
|
|
|
| 359 |
|
|
[32] |
| 360 |
|
|
[CODE(CSS)@en[<'[[font-weight]]'>]] が省略された時の値は |
| 361 |
|
|
[[Opera]] 9 では [CODE(CSS)[[[400]]]]、[[WinIE 6]] と |
| 362 |
|
|
[[Firefox]] 2 では [CODE(CSS)@en[[[normal]]]] です。 |
| 363 |
|
|
([[名無しさん]]) |
| 364 |
|
|
|
| 365 |
|
|
[33] |
| 366 |
|
|
>>31 [[Firefox]] 2 は[[宣言]]ごと[[無視]]しますが、 |
| 367 |
|
|
[[Opera]] 9 では (そういう[[フォント]]はないので) |
| 368 |
|
|
[CODE(CSS)@en[[[font-family]]]] を[[空文字列]]にします。 |
| 369 |
|
|
([[名無しさん]]) |
| 370 |
|
|
|
| 371 |
|
|
[34] |
| 372 |
|
|
>>31 |
| 373 |
|
|
|
| 374 |
|
|
後に別の[[フォント名]] |
| 375 |
|
|
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20inherit%2C%20a%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div> |
| 376 |
|
|
|
| 377 |
|
|
結果は >>33 と同じ。 |
| 378 |
|
|
|
| 379 |
|
|
前に別の[[フォント名]] |
| 380 |
|
|
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20a%2C%20inherit%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div> |
| 381 |
|
|
|
| 382 |
|
|
[[Firefox]] 2 は[[無視]]しなくなります。 [[Opera]] 9 は >>33 と同じ。 |
| 383 |
|
|
([[名無しさん]]) |
| 384 |
|
|
|
| 385 |
|
|
[35] |
| 386 |
|
|
[[Opera]] 9 も [[WinIE 6]] も [CODE(CSS)@en[[[font-stretch]]]] |
| 387 |
|
|
や [CODE(CSS)@en[[[font-size-adjust]]]] には対応していないようなので、 |
| 388 |
|
|
[[Firefox]] 2 や [[CSS 2]] との不整合はありません。 |
| 389 |
|
|
([[名無しさん]]) |
| 390 |
|
|
|
| 391 |
|
|
[36] |
| 392 |
|
|
>>35 訂正、[[Opera]] 9 は [CODE(CSS)@en[[[font-size-adjust]]]] |
| 393 |
|
|
を実装しています。なので、 |
| 394 |
|
|
[PRE(CSS example code)[ |
| 395 |
|
|
p { |
| 396 |
|
|
font-size-adjust: 3; |
| 397 |
|
|
font: 12px serif; |
| 398 |
|
|
} |
| 399 |
|
|
]PRE] |
| 400 |
|
|
|
| 401 |
|
|
は [[Firefox]] と [[Opera]] で違った結果になります。 |
| 402 |
|
|
|
| 403 |
|
|
;; なお、 [[Opera]] は [CODE(CSS)@en[[[font-size-adjust]]]] |
| 404 |
|
|
を実際に[[レンダリング]]に使っているのか不明。 |
| 405 |
|
|
|
| 406 |
|
|
([[名無しさん]]) |
| 407 |
|
|
|
| 408 |
|
|
[37] |
| 409 |
|
|
[[Firefox]] 2 の [CODE(DOMa)@en[[[font]]]] |
| 410 |
|
|
[[DOM属性]]は、 |
| 411 |
|
|
[CODE(CSS)@en[[[font-size-adjust]]]] や |
| 412 |
|
|
[CODE(CSS)@en[[[font-stretch]]]] と無関係に値を返すようです。 |
| 413 |
|
|
([[名無しさん]]) |
| 414 |
|
|
|
| 415 |
|
|
[38] |
| 416 |
|
|
[[CSS 2]] は [CODE(CSS)@en[[[font]]]] に [CODE(CSS)@en[[[inherit]]]] |
| 417 |
|
|
を指定したら |
| 418 |
|
|
[CODE(CSS)@en[[[font-size-adjust]]]] や |
| 419 |
|
|
[CODE(CSS)@en[[[font-stretch]]]] |
| 420 |
|
|
がどうなるのか明記していませんが、 |
| 421 |
|
|
[[Firefox]] 2 は [CODE(CSS)@en[[[inherit]]]] を設定します。 |
| 422 |
|
|
|
| 423 |
|
|
([[名無しさん]]) |