web-dev-qa-db-ja.com

CSS:HTML要素が持つことができるクラスの数に制限はありますか?

CSSでは、HTML要素に複数のクラスを含めることができます。

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

しかし、項目ごとに許可されるいくつクラスに制限はありますか?

27
Tony the Pony

(X)HTML属性の値の最大長によってのみ制限されます。これは この答え で十分カバーされています。

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

すべての意図と目的に制限はありません。私はあなたが好奇心から求めていると思います。言うまでもなく、この制限に達することを真剣に心配している場合は、何か間違ったことをしたことになります。

20
meagar

いいえ、思いません。そのような制限に遭遇したことはありません/

[〜#〜] edit [〜#〜]:ちょっとした発言でごめんなさい。
仕様によると、制限はありませんが、誰かがこの制限に到達しようとしました。Opera、Safariは4000以上のクラスをサポートし、Firefoxは少なくとも2000クラスをサポートしています。
出典: http://kilianvalkhof.com/2008/css-xhtml/maximum-number-of-supported-classes-per-element/

6
zubinmehta

技術的な制限はありませんが(ブラウザーが消費するメモリの量を除いて)、ブラウザーはすべてのクラスを解析し、それらのスタイルを適用してページをレンダリングする必要があるため、要素にクラスをロードすることを強く検討する必要があります。

また、特定のクラスの要素についてDOMを検索する必要があり、要素にクラスのロードが含まれている場合、JavaScriptインタープリターがクラスのロードを解析する必要がある場合、パフォーマンスの問題が発生する可能性があります。

0
joemccann