ホームページ > 記事 > ウェブフロントエンド > CSS はそれほど複雑ではないはず_html/css_WEB-ITnose
Web フロントエンドの最も複雑な部分は CSS です。仕様自体を詳細に説明するのは困難です。私が理解するのが非常に難しいと思うことの 1 つは、なぜこの仕様では、あらゆる CSS プロパティを混合した場合の結果を説明するのにこれほど多くのエネルギーを浪費しているのかということです。新しい機能を追加するたびに、以前の機能をすべて考慮しなければならないとしたら、それはますますぎこちなくなるだけではないでしょうか?
CSS はもっと必須であるべきだと思います。たとえば、table-cell に float または Even Position:Absolute を設定すると、エラーを報告する必要がある場合に、計算方法を考えずに直接エラーが表示されます。そんな黒魔術を使って解決しなければならないシナリオは存在しないのですから、もしそのようなシナリオがあるとしたらCSS自体の能力が足りないとしか言いようがありません。また、これらの内容が仕様書に定められているとしても、実際に覚えている人はどれくらいいるでしょうか?
CSS 2.1 自体はすでに大きなものですが、CSS 3 では多くの機能が追加され、これらの機能の相互作用の結果、仕様が飛躍的に厚くなりました。法律と同じように、あまりにも複雑すぎると、それを管理できる人がますます少なくなり、その実用性はますます低くなります。しかし、具体的な内容を避けることができないため、法律が複雑であることは理解できますが、これほど複雑なコーディング標準は何に使用されるのでしょうか?
UB が出現する場所は自然の成り行きに任せるだけですよね?たとえこれらの不合理な動作が強制的に定義され、仕様に追加されたとしても、開発者はこの機能に頼る勇気がないかもしれません。このようなものは「EB: Edge Behavior」と呼ぶべきです。おそらく次のバージョンの仕様は調整されるでしょう。
多くの人は、改革がスムーズに進むのを妨げているのは歴史のお荷物だと考えているでしょうか?実際、ES の仕様を見ると、厳密モードは非難をそらすための非常に使いやすいツールです。厳密モードを追加し、多くのレガシー機能を無効にすることで、古いバージョンの互換性を考慮せずに新機能を正当に導入できるようになります。
厳密モードと言えば、実際、XHTML にはかつて厳密モードがありましたが、その後 HTML 5 が普及しすぎて、XHTML を好む人がいなくなりました。要するに、私の見解は、HTML や CSS のような一般的なものについては、標準は無駄な EB の定式化にエネルギーを浪費すべきではなく、それを UB にするのはまったく問題ありません。