色々ツールとかあるし色んな所でやり方が紹介されているから余裕でできるだろーって思う人多いと思うし、自分もそう思ってたけど冷静に考えて無理。
開発側が望むこととしてはサイト全体での利用が対象だけど大抵のツールは各ページごとにしか評価しないので、ガバガバ。例えばChromeにもCSSカバレッジ図る機能あるけどさ、ページ単位でしか動かない。
仮にサイト全体をクロールするとしても、JSの機能とか、ユーザーのログイン状況とか、ユーザーのステータスとかで表示が切り替わったときに有効になる特殊なCSSとかもあるわけで、それを全部カバーするにはどれくらいの労力が必要なのかって考えただけで萎える罠
ツールによってはソースコードに出てくる文字すべてをCSSのセレクタ名になりえる値として評価するとかいう超保守的なアルゴリズムで動くのもあるみたいだけど、それはそれでやっぱり不要なCSS残りまくるんじゃねーのと思います。
そういうの嫌ってJSの中にCSSを書きましょうみたいな変な宗教じみなムーブメントもおきてるけど、それってもうCSSとしてどうなん?って感じする。気持ち悪いけどこれに対する反論を適切に言語化できないので、必要だよ!って押し切られたらきつい。てかもうそういうことするくらいなら全部style属性直書きで良いんじゃない?って感じもする。
CSSってそもあってもなくても別にいいわけで、だってそうでしょW3Mとかでページ見たら装飾全部ぶっ殺されるわけですし、最新のブラウザだってスタイルを切る機能あるわけで、本来CSSみたいなおまけ機能がこうも重要に使われるものじゃなかったんだよ。でも実際は重要です。これが現実。
使っていないCSSが気になる〜。って人はそもCSSをアホみたいに使いすぎてるだけだし、最初からカスケーディングの設計しっかりしとけよ!っていうこと以外言うこと無い気がする。
くらいで良いんじゃね?って思うけど、どうしてもカテゴリを横断して出現する統一されたパーツみたいなのが出てきて、そういうパーツのスタイルがサービス全体のベーススタイルに追加されていって、肥大化する。ってのをよく見かける感じです。
まぁ不要なCSSを消すには、CSS自体のボリュームを下げて、適切にカスケーディングして、CSSを管理する人がこまめにメンテナンスする。以外に無いよな〜って言うのが結論だけど、こういうことって割と常識というか暗黙的にみんな知ってるっぽい気がするけど、ググってもあんまり情報出てこないんだけど、お前ら本当はクソみたいなCSSに埋もれて動けなくなってたりしないの?
自分は別にCSSそんなに管理してないけど、たまに手を付けるとまじでゴミまみれで、CSS書くやつはちゃんと捨てるときのことも考えてCSS書けよゴミ屋敷の住人じゃないんだから、集めっぱなしで捨てないとかアホのやることだろまじで。っていう感じです。
SCSSで各ページごとに、CSSを作るのが最強。 全ページに適用されるcommonとかがあるからややこしくなる。