2010-12-04 4 views
23

CSSは、複数のクラス持つようにHTML要素を許可します。CSS:HTML要素が持つことができるクラスの数に制限はありますか?

<div class="cat persian happy big"> Nibbles </div> 

をしかしクラスは項目ごとに許可されているどのように多くのには限界がありますか?

+7

一般的に、どのような制限質問でも、*あなたが尋ねなければならない場合、あなたは何か間違っている*。これはちょうどアイドルな好奇心でない限り:-) –

+1

私は 'class'属性に要素の状態を格納していますので、私はCSSを使って表示を扱うことができます - 最大32の可能な状態フラグがあります。 –

+3

あなたのフラグが非常に長い場合を除いて、あなたは大丈夫です。クラスは数値ではないことに注意してください。彼らは手紙で始まらなければなりません。 'f32'が有効である間は' 32'は無効です。 – meagar

答えて

17

(X)HTML属性の値の最大長は、this answerの範囲で制限されています。

ブラウザは標準違反を非常に寛容にしていることが多く、個々のブラウザでは、はるかに長いクラス属性が許可されることがあります。さらに、ブラウザで利用可能なメモリ量によって制限されるJavaScriptを使用して、実質的に無限の数のクラスをDOM要素に追加することは可能でしょう。

すべての目的と目的に制限はありません。私はあなたが好奇心から尋ねていると仮定しています。あなたがこの制限を打つことを真剣に心配しているならば、あなたは何か非常に間違ったことをしたことは言うまでもない。私は考えていない

-1

いいえ、

制限はありません。

+0

アサーションのソースを含めることはできますか? – meagar

+0

@meager、私は決してそのような限界に遭遇していません... // – kobe

+3

@govあなたが限界に当たったことがないという理由だけでは、そこにはないわけではありません。このアサーションをどれくらい厳密にテストしましたか?あなたは実際に*制限を打つことを試みたことがありますか?私はそのような答えを投票することはできません。なぜなら、SOが好きな人にとって役に立たないよりも悪いからです。 – meagar

5

いいえ、私が今までにそのような制限/

EDITに遭遇していますカジュアルな発言のために申し訳ありません。
仕様によると、制限はありませんが、誰かがこの制限に達しようとしましたが、Opera、Safariは4000クラス以上、Firefoxクラスは少なくとも2000クラスに制限されているようです!
出典:http://kilianvalkhof.com/2008/css-xhtml/maximum-number-of-supported-classes-per-element/

+4

「私はそうは思わない」は、答えよりも適切なコメントです。あなたの答えは効果的に「私は知らない」。 – meagar

+4

+1優秀な追加 – meagar

+2

私は興味がありますか?私は彼のテスト方法に完全に同意していません。彼はいくつかの奇妙な理由で指数関数的な数値でクラスを追加しています。これはテストの精度を損ないます。実行時間が長くなるほど結果は不正確になります。私はFFが10,000クラス以上を受け入れることを示す別のテストを書いた。 – meagar

0

あり(ブラウザを消費することができるメモリの量を除けば)技術的な制限はありませんが、ブラウザがすべてのクラスを解析する必要がありますように、1つは、多額の任意の要素上のクラスの負荷をを検討する必要があり、それらのスタイルを適用してページをレンダリングします。

また、特定のクラスの要素に対して要素を検索する必要があり、要素にクラスが含まれている場合は、JavaScriptインタプリタがクラスの読み込みを解析する必要がある場合があります。

関連する問題