こんにちは。プロダクトのパフォーマンス改善や、「なぜかスタイルが意図通りに当たらない…」というデバッグ地獄に夜な夜なハマっていませんか?
フロントエンド開発を長くやっていると、HTMLとCSSを書けばブラウザが勝手に画面を綺麗に描画してくれるのは当たり前のように感じてしまいますよね。でも、その裏側でブラウザのレンダリングエンジンがどれほど必死に、そしてシビアに仕事をこなしているか、想像したことはあるでしょうか?
今回は、DOM構築と並行してシレッと行われている、「CSSOMツリーの構築」と、その後の「スタイル解決(Style Resolution)」のメカニズムについて、ブラウザの内部の動きを覗き見しながら深掘りしていきます。
ここを正確に理解しているかどうかで、CSS設計の美しさやパフォーマンスのチューニング精度が一段も二段も変わってきます。さあ、ブラウザの頭の中を覗きに行きましょう!
—
1. CSSOMツリーの構築:HTMLとは違う「CSSの現実」
DOM(Document Object Model)がHTMLのツリー構造であるのに対し、CSSOM(CSS Object Model)は、スタイルシートのルールがオブジェクト化されたツリー構造です。
ブラウザがHTMLをパースしている最中に `` タグや `
こんにちは、CSSOMの世界へようこそ。