IE 7 と Firefox 1.5.0.7 と Opera 9.02 の擬似要素の取り扱いを一部修正

http://hxxk.jp/2006/10/28/1200

記事データ

投稿者

望月真琴

投稿日時

2006-10-28T12:00+09:00

タグ
概要

「 IE 7 と Firefox 1.5.0.7 と Opera 9.02 の擬似要素の取り扱い」に寄せられたコメントや「 IEは擬似要素に全称セレクタをマッチさせているように見える - 徒書」での反応を受けて、少し考え方を改め、図を修正しました。

リプライ

リプライはまだありません。

記事本文

図を更に作り直してみました

IE 7 と Firefox 1.5.0.7 と Opera 9.02 の擬似要素の取り扱いに寄せられたコメントや IEは擬似要素に全称セレクタをマッチさせているように見える - 徒書での反応を受けて、少し考え方を改め、図を修正しました。

改めたというか IEは擬似要素に全称セレクタをマッチさせているように見える - 徒書における北村さんの 擬似要素というのはあくまで擬似的なものであり、実際にはそのような要素は文書内には存在しません。 存在しない要素なのだから全称セレクタに対するスタイル規則が適用されるはずもない というのは元々の私の考え方でもあります。 ( なので、 IE 7 の :first-letter 擬似要素の font-size の算出では その元となる要素の値を元にするんじゃないのかなあ、と考えているのですが という書き方をしています。 )

擬似要素というものは HTML 要素ツリー中に存在しないものを CSS のセレクタによって擬似的に指定するものですから、 IE 7 のようにユニバーサルセレクタにマッチするというのはおかしい、というのは同意です。 あとは :first-letter 擬似要素や :first-line 擬似要素のように「 HTML 要素ツリー中の要素の特定の部分を示す擬似要素」と、 :before 擬似要素や :after 擬似要素のように「 HTML 要素ツリーの中に新たに要素を生成する擬似要素」で扱いが違う可能性があるという推測ができるかもしれませんが......。

修正した図

IE 7
  • h2:first-letter 擬似要素にて指定が無いと、 h2 要素ではなくユニバーサルセレクタにマッチ
  • h2:first-letter 要素での font-size の指定が無ければ、 h2 要素にて font-size が指定されていても、何故かユニバーサルセレクタにマッチしてその font-size を適用する。
  • h2:first-letter 要素にて font-size: 150%;font-size: 2em; の指定があれば、 h2 要素を親要素として、その font-size の値を元に値を算出する。
Firefox や Opera
  • h2:first-letter 擬似要素にて指定が無いと、 h2 要素のスタイルを適用する
  • h2:first-letter 要素での font-size の指定が無く、 h2 要素にて font-size が指定されていれば、 h2 要素の font-size をそのまま適用する。 ( h2 要素やその親の要素でも font-size の指定が無ければ、 h2 要素の font-size はユニバーサルセレクタにマッチしてその font-size を適用する。 )
  • h2:first-letter 要素にて font-size: 150%;font-size: 2em; の指定があれば、 h2 要素を親要素として、その font-size の値を元に値を算出する。

最終的に「擬似要素は基本的に元の要素と同じノードとなって同じスタイルをとるが、併せて子要素として元の要素に対する継承も行い、値の算出を行う」という理解になりましたが、この理解で大丈夫でしょうか ?

トラックバック送信先

IEは擬似要素に全称セレクタをマッチさせているように見える - 徒書

「存在しない要素なのだから全称セレクタに対するスタイル規則が適用されるはずもない」という点に同意します。 やはり IE 7 のユニバーサルセレクタマッチがおかしいのかなという当初の考えに立ち戻りました。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など