これについて不平を言う人がたくさんいる/いることがわかりました. 空気をきれいにさせてください。以下は、厳格な CSS コメント ポリシーの主な理由です。
#1 標準ではない
少なくとも CSS 2.1 以降は標準化されており、コメントは と でのみ囲む必要が/*
あり*/
ます。一部のブラウザは//
. それから、何千人もの人々にとって機能していなかったあなたの CSS コードが、今では機能していないことを推測してください (そして、他の何百人もの人々にとってはすでに機能していない可能性があります)。私はそれを追加し<!--
、-->
許可されますが、.css ソース ファイルではなく、HTML ドキュメント内に表示される場合にのみ (という意味でのみ) 許可されます。お使いのブラウザーが古すぎてタグをスキップできない場合は<style>
、おそらく 10 年前に新しいブラウザーを使用する時期です。オオヤマネコでさえ他のテキスト ブラウザはそれらを読み取らないことを知っているため、コメント アウトは、ハードウェアとソフトウェアが現在の動作状態で固定されている非常に孤立した状況でのみ役立ちます。
#2(あまり)クロスプラットフォームフレンドリーではない
で始まる行のどこかで始まる単一行のコメント//
は、クロスプラットフォームで標準化された文字である/そうでない「改行」で終了します。さらに悪いことに、改行に 1 文字または 2 文字を使用するものもあります。これらのプラットフォームが混在すると、改行が失われる可能性があり、ターミネータが使用されます。また、コードの一部またはすべてがコメント アウトされています。特に多くの人が行っているように、CSS だけでサイトの機能を制御している場合はなおさらです。
#3 標準 IS は親しみやすく、すべての人に統一されています
/*
および区切り文字は、アーキテクチャ、オペレーティング システムなどに関係なく、すべての*/
コンピューターで常に同じ文字になります。
#4 改行は空白です
最後の理由 (はい、もう 1 つあります)、改行文字は (CSS および他の多くの言語で) 空白と見なされますが、空白で*/
はありませんか? この時点で考えると、特に空白は多くの HTML/CSS パーサーによって取り除かれたり、知らないうちに再フォーマットされたりする可能性があるため、コメントを終了するために空白を使用してはならないことは明らかです。
#5 CSS != C/C++
席を飛び立って「やあ、でも C++...」と怒鳴ろうとしているなら、これらのコンパイラと IDE には大量の改行チェックと検出機能が組み込まれていることを思い出してください。ほとんどのコンパイラは、尋ねられない限りコードを再フォーマットしません。また、多くの IDE は通常、ドキュメントが独自に推測できない場合、ドキュメントが使用している改行の種類を尋ねます。エンドユーザー向けの CSS ページがロードされるたびにこれを行ったとしたら、悪夢のように回避しようとすることを想像してみてください。さらに、C/C++ コードは実行時に解析されずにコンパイルされるため、多くの場合、ユーザーは最初から問題のドキュメントを取得することはありません。ソース ファイルは、世界中の何百ものプラットフォームや多くのオペレーティング システム、さらには 100 万もの異なるブラウザーで絶えず表示されているわけではありません。コメントは、エンド ユーザーに届く前に削除されます。CSS ソースはユーザーのブラウザーに直接届き、反対側に何があるかを知らずに非常に弾力性がなければなりません。
#6 不便です
いいえ、余分な を入力しなければならないのは非常に面倒です*/
が、これの主な責任は、オートコンプリートを提供しない CSS 編集ソフトウェアの開発者にあります。それを行うことができる専用のエディターを使用する場合、できればすぐに使用できるエディターを使用すると、//
. 入力してからバックスペース 2 を押す習慣を身につけ/**/
てください。忘れないようにし、少し楽になります。さらに良いことに、ホットキーを設定して、それらを配置することができます. Windows と Linux の両方に、これを可能にする強力なツールがあります (KDE はこれに非常に適しています)。
これが「方法」の背後にある「理由」を理解するのに役立つことを願っています。
はい、それを使用するのは悪い習慣です。二重スラッシュに「いいえ」と言ってください!!!
この重要な事実を思い出すために視覚的な補助が必要な場合は、このイメージを頭に焼き付けてください (このような写真を作成する以外に何もすることがない人に感謝します)。
PS: CSS 標準 (W3C、エルボー) を作ったり壊したりしている人たちに文句を言いたいなら、誰かが「!important」キーワードがいかに不必要に長くて間違っているかについて議論を始めます! しかし、それはこの質問の一部ではないので、私はそれに立ち入りません.
参考文献
- W3C : CSS 2.1 ワーキング ドラフト: コメント文字。
- W3C : CSS 構文モジュール レベル 3: パーサーから文字への解釈の鉄道図。
- スタック オーバーフロー:これと実質的に同じテーマのさまざまなスタック オーバーフローの記事。
- w3schools : CSS 3 構文標準 (W3C を参照)。
- sitepoint : 「ダブルスラッシュを使用しない」に関する CSS 構文注釈。
- mozilla|mdn :緩和された CSS 3 処理により、入力ファイルでダブル スラッシュが許可されます。