CSS 3 の普及に伴い、新しい CSS プロパティが次々と登場し、見慣れない CSS プロパティも多数登場するため、新しい CSS プロパティを学習することが必要になることがよくあります。新しい属性を紹介する記事はあまりないので、時々公式ドキュメントを確認する必要があります。以下の図を参照してください。
フレックスボックスを初めて学んだとき、さまざまな書き方があることを知りました。幸いなことに、公式ドキュメントには最初にどのドキュメントが最新であるかが示されています。しかしこの際、CSSERの資格を持つ私もCSSの標準プロセスを理解しておくべきだと思いつきました。ここで説明する知識は基本的に、CSS トリックに関する CHRIS COYIER の記事 (https://css-tricks.com/css-standards-process/) から得られます。
CSS 標準化プロセスは、ブラウザ ベンダー、大学、大企業 (Google、IBM など) で構成される W3C Cascading Style Sheets Working Group (CSSWG) によって主導されています。 、および独立した CSS 専門家。 W3C 自体は標準を策定しませんが、グループ メンバーからの提出を受け取り、会議を通じて標準の策定について議論するフォーラムのようなプラットフォームとして機能します。すべての提出と議論はオープンかつ透明であり、会議の様子は W3C Web サイトの記録で見ることができます。 、標準の決定には通常 6 つの段階があり、そのうちの 2 つは移行段階です:
これは仕様の開始段階であり、CSS 属性またはセレクターが提案されました。 CSSWG内で検討しました。グループのメンバーがプロパティを正式に開始できることに同意した場合、次のフェーズに進むことができます。
草案を編集した後、標準設計段階である作業草案が存在します。グループは CSSWG 内とグループ外からのフィードバックを繰り返します。この段階では 2 つの結果が生じます。1 つは、新しいプロパティが技術的な問題により完全に拒否されるか、他の問題が発生する可能性があることです。2 つ目は、仕様がこの段階を通過して終了することです。これは最初の公開作業草案 (FPWD) としてリリースされ、その後、CSSWG 内およびグループ外の幅広いコミュニティからのフィードバックに対処するいくつかの作業草案が続く予定です。
3. 移行 – 最終呼び出し作業草案 (LCWD)
これは、作業草案から仕様の検討が開始される最初の移行段階です。次のフェーズに入るとき、新しいプロパティへの軽微な変更についてのフィードバックのために期限が設定されます。LCWD は期限後の最後の公開ドラフトです。注: 最も重要なステージは ED、WD、CR (後述) であり、他のステージはそれほど重要ではありません。
4. 推奨事項候補 (CR)
5. 移行 – 提案された推奨事項 (PR)
6. 推奨事項 (REC)
注: 推奨される標準段階は実際には理想的な状態ではなく、仕様が大量に存在するため、ブラウザーはこの段階まで待たずに、CR 段階でこの仕様を実装します。なぜ墓と呼ばれるのかというと、REC段階に到達すると、規範が安定するのではなく前進が止まるからです。 CSSWG は REC 段階で新たなエラーの修正にエネルギーを投入しないため、エラーは蓄積され続け、新しいバージョンの仕様がすでに開発されており、古い仕様は継続的な開発の活力と重要性を失い、問題を残すことになるだけです。ハッキングによって補われ、より良い機能を実現するために新しい属性が使用されて置き換えられます。
それでは、標準はいつ安定するのでしょうか?この記事は、Tab Atkins Jr (Google チームのメンバーであり、CSSWG および W3C のメンバー) の一節を引用しています。内容は大まかに言うと、仕様の安定性は、基本的に仕様が作成されるプロセスの段階とは何の関係もありません。が位置しています。仕様の機能が普及し始めており、下位互換性のために変更できない場合、この段階は ED 仕様段階または CR 段階にある可能性があります。これは、W3C 標準リリース プロセスではなく、安定性を判断する正しい方法です。そうは言っても、著者は、落とし穴を回避するために、安定性に応じて新しい CSS プロパティを使用する方法についても言及しました。実際、段階的な強化と正常な劣化を実現できます。有名な Web サイト http://caniuse.com について言及する必要があります。この Web サイトは、特定の属性を入力するときに、単に CSSER を使用することになると思われます。以下のタグを参照すると、その公式ドキュメントと多くの最新の学習記事がすぐに見つかり、使用上の既存の問題についても学びました。たとえば、flex と入力すると、次のようなタグがあります。
css-trick や github などの有名な Web サイトの記事があり、比較的新しく、よく書かれた記事が多くあります。
ここには、CSS 3 の命名に関する少しの常識もあります。Tab Atkins Jr が記事「A Word About CSS4」で代理で説明しました。 CSSWG の主な内容 つまり、CSS 3 は CSS 2.1 以降に追加された新しい CSS プロパティを表しており、CSS4 のようなものは存在しません。以下は、記事の内容と、それを読んだ後の私自身の理解の一部を組み合わせたものです。原文を読みたくない場合は、少し学ぶことができます。よく理解していないかもしれませんが、偏見を持ちすぎてはいけません。CSSWG が CSS 2.1 バージョンを終了したいと考えたとき、「バージョン」は使いにくいことがわかりました。なぜなら、一度バージョンを使用して CSS を公開すると、CSS が保守や開発も難しくなります。上記の CSS の標準リリース プロセスと CSS の現在の使用状況を組み合わせると、これが実際に当てはまると考えるのは難しくありません。 CSS の整合性は強力ではないため、CSS プロパティは特定の効果を達成するために個別に提案およびフィードバックされ、他の提案されたプロパティと重複することはありません。一部のプロパティは常に使用されており、新しい更新を必要としません。プロパティはすぐに削除される可能性があるため、CSS をバージョン全体でリリースするのは非科学的です。この考えに基づいて、CSSWG は CSS を多数の独立した小さなモジュールに分割することを決定しました。各モジュールには 1 つの主要機能 (機能) のみが含まれており、それらは独立してアップグレードおよび開発できます。なぜ、いくつかの機能のみを含む小さなモジュールに分割する必要があるのでしょうか。このようにすると、1 つのモジュールにあまりにも多くの機能が含まれることがなくなり、1 つの機能が解決するのが特に難しいため、モジュール全体の他の機能の開発やアップグレードが妨げられることはなくなります。このアイデアは CSS 2.1 バージョンが完成したときに決定されたため、現在では CSS をモジュールに編成する必要があり、それに応じていくつかのレベルを設定する必要があります。ルールは次のとおりです:
1. モジュールに CSS 2.1 の関連コンテンツがある場合、これらのモジュールはレベル 3 から始まります。
2. まったく新しいプロパティ (Flexbox など) の場合は、レベル 1 から直接開始します。
3. モジュールのレベルは、そのモジュールが含まれている CSS バージョン、つまり、CSS 2.1 コンテンツであるか、まったく新しい属性であるかには関係ありません。モジュールという概念は新しく提案されたものであるため、モジュールである限り、どのモジュールレベルであっても、すべてCSS 3に属します(あるいはすべてCSSであるとも言えます)。
4. css4-backgrounds のようなものが表示される場合があります。これは実際には CSS 背景と境界線のレベル 4 を表します。つまり、4 はモジュールのレベルを表します。
その後、Da Mo 先輩もより包括的な内容の関連記事を執筆し、ブラウザーのプレフィックスの問題について話していることがわかりました。こちらも参考にさせていただきましたので、以下の参考リンクをクリックしてご覧ください。
この記事の参照先:
Tab Atkins Jr. http://www.xanthir.com/b4Ko0#nav
CHRIS COYIER https://css-tricks .com /css-standards-process/
CSS 秘密の花園: Web 標準は敵か味方か?
レベルは限られているため、間違いは修正してください。元のブログ記事、転載の際は出典を明記してください。