web-dev-qa-db-fra.com

CSS: Existe-t-il une limite sur le nombre de classes qu'un élément HTML peut avoir?

CSS permet à un élément HTML d'avoir plusieurs classes:

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

Mais existe-t-il une limite sur combien classes sont autorisées par article?

27
Tony the Pony

Vous n'êtes limité que par la longueur maximale d'une valeur d'attribut HTML (x), quelque chose de couvre bien par cette réponse .

Les navigateurs sont souvent très pardonnant aux violations des normes. Les navigateurs individuels peuvent donc permettre des attributs de classe beaucoup plus longs. De plus, vous êtes susceptible d'ajouter un nombre pratiquement infini de classes à un élément DOM via JavaScript, limitée par la quantité de mémoire disponible pour le navigateur.

À toutes fins utiles, il n'y a pas de limite. Je suppose que vous demandez de la curiosité; Il va sans dire que si vous êtes sérieusement inquiet de frapper cette limite, vous avez fait quelque chose de très faux.

20
meagar

Non, je ne pense pas, je n'ai jamais rencontré de telles limites /

[~ # ~] Edit [~ # ~] : Désolé pour la remarque occasionnelle.
[.____] Selon les spécifications, il n'y a pas de limite, mais quelqu'un a essayé d'atteindre cette limite et il semble que la limite d'opéra, safari a soutenu plus de 4000 classes et Firefox au moins 2000 classes!
Source: http://kilianvalkhof.com/2008/css-xhtml/maximum-number-fsupported-classes-Per-Element/

6
zubinmehta

Il n'y a pas de limite technique (sauf la quantité de mémoire que le navigateur peut consommer), mais il convient d'envisager fortement de prendre des charges de classes sur n'importe quel élément, car le navigateur devra analyser toutes les classes, appliquer ces styles et rendre la page.

De plus, si vous devez rechercher le DOM pour des éléments d'une classe et des éléments particuliers contiennent des charges de classes, vous pouvez probablement voir un problème de performance si l'interprète JavaScript doit analyser de nombreuses classes.

0
joemccann