2

私が持っているとしましょう

<span class="1">hello</span>

そして、私は宣言したい:

span.1 { /* rules */ }

これは機能していないようです (つまり、CSS ルールが適用されていません)。これを機能させる方法はありますか? CSSセレクターで「1」を引用しようとしましたが、そうではないようです。

4

3 に答える 3

8

これを参照してください: CSS クラス名/セレクターで有効な文字はどれですか?

(クラス) 名はアンダースコア (_)、ダッシュ (-)、または文字 (a–z) で始まる必要があります

于 2012-05-27T16:52:25.897 に答える
4

セマンティクスを念頭に置いて、クラスと ID に常に名前を付ける必要があります。数字は誰にどのような意味をもたらしますか? それは何を数えますか?

これを避けるために、ID とクラスの名前を整数だけにすることはW3 によると有効な CSSではないため、ほとんどのブラウザではサポートされていません。HTML と CSS を常に検証してください。

解決策は、単純にクラスに意味のある名前を付けることです。何を数えていますか?ブログのコメントですか?その場合は、commentそれぞれにクラスを追加するだけです。それぞれに一意の名前が本当に必要な場合は、comment5代わりに使用できますが、クラスとしてはあまり意味がないようです。その場合は、代わりに ID を使用する必要があります。

正確な命名要件は、W3C の CSS 仕様のセクション 4.1.3 Characters and caseにも記載されています。

CSS では、識別子(セレクターの要素名、クラス、および ID を含む) には、文字 [a-zA-Z0-9] と ISO 10646 文字 U+00A0 以降、およびハイフン (-) とアンダースコア ( _); 数字、2 つのハイフン、またはハイフンの後に数字を続けることはできません。識別子には、エスケープ文字と ISO 10646 文字を数値コードとして含めることもできます (次の項目を参照)。たとえば、識別子「B&W?」「B\&W\?」と表記される場合があります。または「B\26 W\3F」。

于 2012-05-27T16:52:06.540 に答える
3

したがって、CSS文法を確認する必要があります

そのため、名前はアンダースコア _ 、文字 (a ~ z) で始まり、その後に任意の数のダッシュ、アンダースコア、文字、または数字が続く必要があります。

編集: この記事Valid chars in CSS class namesを読むことをお勧めします。同僚の @Triptychが素晴らしい回答をくれました。

于 2012-05-27T16:55:39.890 に答える