IT戦記 このページをアンテナに追加 RSSフィード Twitter

2008-04-10

CSS の「inherit」で継承されるのは Computed value 以外にありえない(と思ってる)

ちょっと色々調べていて

以下のような記事を読みました。

line-height の値には単位なしが良いとされる理由 - lucky bag

本当に役立つ素晴らしい記事だと思います。

でも、一カ所だけ確認したい箇所がありました

僕が間違っているかもしれないので、はっきりさせたいのです><

本当に細かい箇所なので、自転車置き場の議論です><

ごめんなさい。

で、その箇所

一方、単位なしで指定すると、line-height 値には同じく font-size と掛け合わせた計算値 16px が指定される。そして、子孫要素である em にはこの計算値ではなく指定値である 1 が継承され、em の font-size と掛け合わせた数値 24px が行ボックスの高さになる。

line-height の値には単位なしが良いとされる理由 - lucky bag

この言い回しだと、計算値(Computed value)ではなく、例外的に指定値(Specified value)が継承されるように読めますが、

以下の仕様から

Visual formatting model details

Computed value が Specified value と同じ値になるだけで、継承されるのはやはり Computed value だと僕は思っています。

僕はバリバリの CSS 書きではないので、この辺、ちょっと自信がないのですが、

CSS の「inherit」で継承されるのは Computed value 以外にありえないですよね?

これを自分の中ではっきりさせたいので、誰か教えてください><

自分の調べたかぎりは正しいと思っています。

(追記)そっか

あ、これって CSS 2 と CSS 2.1 の違いなのか!

CSS 2 は Computed value と Used value が分かれていないのか!

解決しました><

ごめんなさいごめんなさい><

kosakikosaki 2008/04/10 19:03 うむ、CSS2は最初の定義がよくなくて、あとで本文中で自然言語で例外がつらつらと書いてあるというケースが非常に多くて、規格のformalさ加減でいうと結構ダメな子な印象
ちょっとブラウザ作ってた時代を思い出しちゃった

amachangamachang 2008/04/10 19:07 なるほど。 CSS 2 はダメな子。

ところで kosaki さんブラウザを作ってたんですね><
すげー!

lucky-baglucky-bag 2008/04/10 19:30 どもです。
仰る通り、当該記事は”However, the number, not the computed value, is inherited.”の方に従って説明していました。混乱させてしまったようですね。
時間あるときに追記しておきます。

amachangamachang 2008/04/11 10:08 おお。ありがたやありがたや><です

CSS21 だけで CSS2 のほうの仕様を読まずに書いてました。
すみません。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/amachang/20080410/1207818761