CSSのルールセットの可搬性

シンプルなセレクターが多くの利点を持つことはよくわかるんだけど、可搬性が上がるというのはどうもしっくりこない。ルールセット単位での可搬性というのはかなり無理があるんじゃないか。数種のプロパティーの組み合わせを再利用するのは良いけど、それにセレクターは含めると可搬性落ちると思う。

Twitter Bootstrapのような完全にそれに依存してそれだけで完結するような仕組みならばシンプルなセレクターのルールセットの可搬性はかなり高いと思う。ただその可搬性はデザインの断片の可搬性ではなくデザイン全体の可搬性ということになる。レイアウトのリズムや細かいディテールも含めた完全な移植で、○○の△△を流用したいとしてもそれを含むルールセットを持ってくれば済むという事にはならない。そのルールセットに余計なプロパティーが含まれていて要編集だったり、他のルールセットに依存していて単体ではうまく機能しないことがほとんどだと思う。そうならないように細かくセレクターを分けて管理することは不可能ではないけど、ちょっと現実的ではない。

またルールセット単位の運用となるとCSSとHTMLの更新が必須になる。今さらHTMLを書き換えるのはアレみたいなことは言うべきではないと思うのでそういう点はどうでもいいんだけど、できるだけキャッシュさせたい的な風潮にはちょっと合わないような気がする。HTMLはHTMLでそのままにしておいてCSSのセレクターを工夫することによってデザインを適用の方が理にかなっているんじゃないか。うっかり大きく異なる画像を同じURLで提供したりしない限り古いキャッシュが使われても破綻しないし。複雑なセレクターによるパフォーマンスの低下については誰か論文を是非書いてください。

複雑なセレクターと再利用可能なプロパティーのセットを関連付けるのはCSSでやろうとするとヘル・エッジ・ロード(© 銀と金)だけど、そこはまぁSassLESSの力を借りるなりすれば良い。


CSSのポータビリティーとか幻想だと思っているクチなのでネガティブ。ベンダー拡張プリフィックスとかも絡めると再利用なんてできるとはとても思えない。けどやるだけやってはみようとして中途半端な感じによくなる。