2011-01-11 23 views
19

可能性の重複:CSSで
Why do /**/ comments work in stylesheets but // comments don't?CSSに//コメントがないのはなぜですか?

コメントを作成するための唯一の方法があります:/* I'm a comment */

問題は、それがネスト可能ではないということです。

私たちに//のような代替のコメント構文がない理由を知っている人はいますか?

+0

質問するのは妥当な質問です。私は良い答えがあるかどうかわからない。 – Spudley

+7

この質問はここで答えられます:http://stackoverflow.com/questions/2479351/why-do-comments-work-in-stylesheets-but-comments-dont。そして、「本当の」答えがあるようです。 –

+0

@Cody Grey - まあ、私はポイントは、 '非終了'コメントを定義する方法がないと思う。どちらが良い質問です。 – UpTheCreek

答えて

14

本当の答えは、CSSが改行を他の空白のように扱うことだと思います。改行で終わるコメントを持つのは意味がありません。これは、CSS1仕様からのものです。http://www.w3.org/TR/REC-CSS1

CSSスタイルシートは、どのバージョンのCSSでも、ステートメントのリストで構成されています。 2種類の文があります:at-rulesとrulesetsです。文のまわりに空白(スペース、タブ、改行)があるかもしれません。

もちろん、これはまた、ここで言及されるように、縮小の文脈において多くの意味をなす。Why do /**/ comments work in stylesheets but // comments don't?

4

これは仕様に含まれておらず、CSSは広く使用されサポートされているため、追加することは事実上不可能です。新しい仕様を公開して、すべてのブラウザが魔法のようにそれをサポートするとは限りません。 10年以上前のブラウザであるIE6はまだまだ広く使われているので、この仕様が追加されたとしても、それをサポートするにはさらに10年かかると思います。 //スタイルのコメントの問題は、新しいHTMLタグとは異なり、ドキュメントの残りの部分が安全である限り無視することができるため、拡大表示しないことです。//を追加すると、認識されないユーザーエージェントが壊れてしまいます。

私たちがしていないので、短い答えはありません。

実際に多くのことを意味する場合は、// -commentsを/* */ -commentsに変換するスクリプトまたはマクロを書き、Webアプリケーションを実行する前に適用します。

2

コメントをCSSに入れる方法があります。 SASS /コンパスを使用している場合。 そうにfunktions、変数と同じように、私がCSSについての欠場のすべてを与えるので、私は本当にコンパスを使っているよう..ここ

http://compass-style.org/コンパスへのリンクで、基礎となるSASS-言語にhttp://sass-lang.com/

コンパスがありますあなたのSASSコードを実際のCSSにコンパイルするプログラムをバックグラウンドで実行しているので、あなたのワークフローはまったく同じですが、他のファイル(scssやsass)や非常に拡張された機能を備えています。

関連する問題