Open3

リセットCSSの問題点

吉川雅彦吉川雅彦

感じている課題

※Xに書ききれなかったこと

■メリット

  • ブラウザの差異が埋められる。ここでいう差異というのは、「未定義(解釈違い)」「バグ」「早期実装」「独自実装」あたり?(例えば、html要素とbody要素のどちらにpaddingをどれくらい持たせるかなどは決まってなかったはず)
  • 上記をあまり時間をかけずに実装できる。そのためボトルネックが取り払われる、もしくはデザインバグが減る。

■デメリット

  • そもそも必要性が薄れてきた。
    • 未定義:ある程度程度の解は出てきて、かつコード量も必要としなくなった。
    • バグ:IEがなくなり、主要ブラウザは常にバージョンアップを続けているブラウザのみになった。
  • 長い運営をするには向いていないときがある。
    • Open UIなどのコミュニティグループなどの発足もあり、まだまだHTMLの仕様も増え続け、それに合わせブラウザ実装も強化されてきている。そのため常に更新し続けるという前提が出てきた(いや元からあった?)。
    • とは言いつつ実際にバージョンアップしづらい。なぜなら、中身について知っている人がおらず、バージョンアップしたときの見た目の確認が不可能に近い状況が多い。バージョンアップできるならまだいいが、更新が停止してしまっているものもある。
  • 不要なコードも多い。
    • 例えば、hr 要素だったり contenteditable 属性だったり。
    • そのために二度手間な記述も出てくる。
    • line-height: 1.15; みたいな記述は差異を埋めるためのものではあるけど、結局ほぼ必ずプロパティもある。
  • ライブラリによっては編集前提のものもあるにも関わらず、「難しいので中身は触らない」という運用になりがち。
  • コンポーネント志向との相性。