CSSの適用について、予想外の事実を知った
[1]の読書にて、予想外な事実を知ったためメモしておく。
それは・・・
「CSSセレクタは右から左へと照合される」
という事実だ。
つまり、 #id1 td というセレクタの場合、以下の順番で照合される。
- DOM内の全ての td 要素を探索
- 上記で見つかった各 td 要素について、先祖要素に #id1 である要素があるかを探索
一番右側のセレクタは「キーセレクタ」と呼ばれ、このセレクタによってどれだけ絞り込むことができるかにコストは左右される。
効率的なCSSセレクタ
[1]でも紹介されているhttps://developer.mozilla.org/en/writing_efficient_cssでのメインメッセージは下記の通りである。
非効率なCSSセレクタの性能影響
[1]では、米国トップ10WebサイトのCSSルール数、DOM要素数、DOMの深さの平均、と同様の条件で、非効率なセレクタを使うことで余計にかかる時間は30ミリ秒程度としている。
CSS適用のタイミング
CSSが適用されるタイミングは下記の2つだ。
- 初期表示時
- スタイルに影響するような、DOM要素の変更があった時(リフローと呼ばれる)(※ただし、影響をうける要素だけをレイアウトしなおすように最適化されている)
公式サイト
参考文献
[1]
続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス
- 作者: Steve Souders,武舎広幸,福地太郎,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/04/10
- メディア: 大型本
- 購入: 20人 クリック: 351回
- この商品を含むブログ (29件) を見る