使用されているスタイルを判別するには、ページにリンクされている CSS ファイルを解析する必要があります。また、CSS の要素をターゲットにするために使用できるプロパティを決定する必要があります。従う必要があるフローは次のとおりです。
要素は、タグ、ID、クラス、疑似クラス、および継承によってターゲットにすることができます
たとえば、次のような特定の要素があります。
<a href="#" id="link" class="button">Woop</a>
その要素には、デフォルトでいくつかのセレクターが関連付けられています。すべての要素は親 CSS を継承できるため、親要素の階層を作成する必要があります。後のスタイルが優先されます。a
次に、タグと、このセレクターを共有する親 ( など)を考慮する必要がありますbody a
。同様に、継承された属性の階層を作成する必要があります。クラス、属性、および疑似クラスに対してこのプロセスを繰り返します。要素のツリーのリストをコンパイルしたら、適切なスタイルの CSS ドキュメントを解析できます。
これは間違いなく大事業であり、一からやり直す意味はありません。私が提案したいのは、すでにこれを行っているオープンソース プロジェクトを調べることです。WebKitは、このシステムを既に構築しているオープンソース プロジェクトです。それらの実装を出発点として使用することを検討し、そこから変更を加えてください。