2018年10月25日に初出の投稿

Last modified: 2018-10-25

That should be corrected if anyone invents a time machine. :P

Incomplete List of Mistakes in the Design of CSS

なかなか興味深いリストだが、首をかしげる項目がないわけではない。たとえば、

・Box-sizing should be border-box by default.

確かにその方が使い勝手はいいかもしれないが、ブラウザのレンダリングの原則として「その方が妥当だ」という理由はなんだろうか。枠線やパディングやマージンを追加したら、その高さや幅を含めてブロック要素の高さや幅だと扱わなくては「いけない」理由が必要だろう。ボックス要素の内容こそ、枠線があろうとパディングがあろうと一定の幅と高さを維持しなくては「いけない」という方針もまた、それなりに一貫したものだと言い得る。一方が良くて他方が悪いなら、そう言うには根拠がなくてはいけない。

・The 4-value shorthands like margin should go counter-clockwise (so that the inline-start value is before the block-start value).

ショートハンドを使う人は、実際のところはそう多くないと思う。それでも、top, right, bottom, left の順番だと、インライン要素の開始値とブロック要素の開始値とで不都合があるらしい。しかし何の? これも根拠がよく分からない要望だ。

・The top and bottom margins of a box should never have been allowed to collapse together automatically as this is the root of all margin-collapsing evil.

これは分かる。垂直方向の親要素のマージンやパディングが潰れてしまう仕様は、昔から納得できる理由が見当たらない。ブロック要素は、常にそれ自身の親要素の中でマージンを取るのが自然だと思うが、どうもそう考えない人が W3C やブラウザのベンダーにはいるらしい。

その他、プロパティの呼び方などについても幾つかの提案があって、名称に不備があるせいで扱いに誤解が生じるのであれば変更した方がいいだろう。しかし、"list-type" を "marker-type" に替えたところで益はないと思う。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook