Feb06

offspring.js

追記
指摘がありました。 offspring.jsがあっても、IE6とIE7でCSSの擬似クラスを使えないとの事です。 このライブラリはIEのcss実装の不備を補完するものじゃなく、最初の子要素に自動的に追加されます。クラスが追加されるだけで擬似クラスをjsで実装してるわけではないようです。offspring.jsを読み込んでも、cssファイルに書いた、:first-child{....}はie系では無視されます。offspring.jsの作者は、ブラウザ間で実装の有無がある:first-childのような擬似クラスは「使わない」ことを提案しているようです。

今現在、CSSの擬似クラスをサポートしているのはSafari 3だけらしいのですが、IEなどでもCSSの代替え策として最初の子要素に自動的にclassを追加してくれるoffspring.jsをご紹介いたします。

CSSの擬似クラスの説明ですが、特定の要素に対してCSSの擬似クラスを使用すると不必要なIDやClassを使わなくとも、特定の表現ができたりします。例えば以下の擬似クラスなどは便利です。CSS擬似クラスの例を上げると

:first-child
親要素の中で最初に現れる子供要素である場合にだけマッチする
:last-child
親要素の中で最後に現れる子供要素である場合にだけマッチする
:nth-child(#)
親要素の中で #番目の子要素だけにマッチする

その他にも:nth-child(even)や:only-child等かなり色々あります。詳しい解説についてはWWW WATCHさんのCSS セレクタに関するおさらい 2が丁寧にわかりやすく解説されています。

しかし現状では、IE6やIE7ではこのような擬似クラスはサポートされていません。そこでA List Apartで紹介されているKeeping Your Elements’ Kids in Line with Offspringの記事の中のoffspring.jsを使用する事でIE6やIE7でCSS擬似クラスの代替えとして使用することができます。Googlecodeに掲載されているサバージョンoffspringjsを直接ヘッダー内で外部スクリプトとして読み込めばOK。

Related entries

Track back URL

http://u-ziq.com/cgi/mt/mt-tb.cgi/229

コメント

間違った紹介記事です。

offspring.jsがあっても、「IE6とIE7でCSSの擬似クラスを使え」ません。

このライブラリはIEのcss実装の不備を補完するものじゃないです。
Dean EdwardのIE7.jsのような働きはしてくれないです。


offspring.jsは、例えばfirst-childというclassが最初の子要素に自動的に追加されます。
自動追加のタイミングは読み込み時とか色々設定できます。
クラスが追加されるだけで擬似クラスをjsで実装してるわけではないです。
offspring.jsを読み込んでも、cssファイルに書いた、:first-child{....}は相変わらずie系では無視されます。

offspring.jsの作者は、ブラウザ間で実装の有無がある:first-childのような擬似クラスは「使わない」ことを提案してます。

v~zさん>
ご指摘ありがとうございます。記事を訂正しなおしました。
このようなご指摘があると本当に助かります。
以後気をつけます。

Coments

▲TOP

FEED

RSS    

JOB INFO




ANNOUNCE

  • 現在はありません。イベント&セミナーなどのお知らせを掲載してほしい方はお問い合わせフォームよりお気軽にご連絡ください。

WHO IS WRITING

テクノラティお気に入りに追加する

WEBデザインとシステムの共存、WEBストラテジーを考えた情報設計(IA)