Hatena::Groupweb

vantguarde

 | 

12.13

State of the Browsable Web (Dec 2008) ― CSS

| 14:21

2008年12月現在のCSSに関する状況をまとめときます。

CSS 2.1

2007年7月に2度目のCRに突入して以降、仕様書的に音沙汰のないCSS 2.1ですが、裏では着々とissueの解決や実装が進められています。

CRというステータス上実装がないと進まないわけですが、加えて細かいところについてWGでつめる必要があるので、さらにゆったりです。実装もAcid2以降、がんばって対応というのはあまり行っていない気がしますし。

ただ、ここにきてIE8がCSS 2.1への準拠に向け頑張っているため、少し動きが加速しつつあります。仕様で定められてない(または不明瞭な)ものについて質問したり、大量のテストケースを寄贈したりとか、よく分からない本気を出しています。テストケースは3000を超えているので、CR脱出に必要な「テストケースの作成と検証」というステップにかなり貢献しているものと思われます。

今後のスケジュールですが、issueを全てクローズし、テストケースや実装が出るのを待ってから、LC→PR→RECになると思われます。たださっきもいったとおり、CRは実装状況にとても依存するステップなので、もしかしたら間にもう一度CRが入るかもしれません。三度目の正直となることを願いたいものです。

CSS Namespaces, CSS3 Color

CSS3の中で、今一番進んでいるのがCSS NamespacesCSS3 Colorでしょう。すでに2つ以上の実装が存在しており、CSS 2.1への依存がなければCSS 2.1よりも先に勧告されるはずです。

Colorについては、rgba()hsla()がOpera 10 Alpha(Presto 2.2)でサポートされているようなので、そろそろ試してみるのも面白いかも。

Selectors Level 3

次はSelectors Level 3でしょうか。::selectionなど、テストケースが作りにくいものはわかりませんが、それ以外は実装状況がよさげです。遅れ気味だったGeckoについても1.9.1でかなり高水準になりました。

:nth-childが注目されやすいですが、:*-of-typeの方がどちらかというと使われる気がしています。

Media Queries

Media Queriesも進んでいる方です。Prestoについては早くから対応していましたし、WebKitもiPhoneのおかげか実装されています。GeckoについてはSelectorsと同じく1.9.1からの対応となるようです。

仕様の進み具合としては二度目のLCとなっています。定義されているmedia featureの幅が広いため、早期の勧告になるのかはちょっと分かりません。ただ、width/heightやdevice-width/heightなど、広く使われるであろう物については一通りサポートされているので、仕様の状況をあまり考えないでも良いように思います。iPhone系だと結構使われていますし。

CSS3 Backgrounds and Borders, Multi-column layout

CSS3 Backgrounds and BordersCSS3 module: Multi-column layoutについては、試験的な実装が続いている状態です。border-radiusの構文が変わるなど、たまに大きな変更もあります。

その他CSS3

  • Marquee部分がoverflow系から分離され、CSS3 Marqueeという単体のモジュールになりました。CSS MPとの絡みです。
  • アスキーアート的な気味の悪い構文でおなじみ(?)の、Advanced Layoutが“Template Layout”に改名されました。新しいドラフトは出ていませんが、次からは新しい名称になります。
  • CSS3 Generated Content for Paged Mediaが思いの外活発です。HPの人がいたり、HåkonがPrinceに関わっているのが理由でしょうか。

独自拡張

AppleによるCSS Effectsですが、CSS WGに移管して進むような方向っぽいです。Transforms (2D)に関してはすでにMozillaも実装に動いています。SVGの資産を使えるというのが大きいようです。

CSS Variablesについては、こちらもCSS WGに移管されるはずです。構文を定義することからスタートしなければならないので、現在そこまで大きな動きはありません。Interoperabilityが損なわれるのを防ぐため、WebKitでは無効にされているようです。

CSS1, CSS 2.0

CSS1CSS 2.0の仕様書それぞれに、「この仕様書はメンテされてないからCSS 2.1見ろ」といった注意書きがつけられました。

日本語訳はCSS 2.0しかないので、ちょっと気になるところです。訳はありませんが、CSS 2.1のエッセンス(転載版)や、セオリー・オブ・スタイルシートなどで触れられている部分もあるので、参考になるかと思います。

 | 
Contact: @vant / lepetitcroissant@gmail.com.