CSS: Существует ли ограничение на количество классов, которые может иметь элемент HTML?

CSS позволяет HTML-элементу иметь несколько классов:

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

Но существует ли ограничение на количество классов для каждого элемента?

Ответ 1

Вы ограничены только максимальной длиной значения атрибута (X) HTML, что хорошо описано этим ответом.

Браузеры часто очень прощают нарушения стандартов, поэтому отдельные браузеры могут допускать гораздо более длинные атрибуты класса. Кроме того, вы, вероятно, сможете добавить практически бесконечное количество классов в элемент DOM через JavaScript, ограниченный объемом памяти, доступной браузеру.

Во всех смыслах и целях нет предела. Я предполагаю, что вы спрашиваете из любопытства; само собой разумеется, что если вы серьезно беспокоитесь о том, чтобы достичь этого предела, вы сделали что-то очень не так.

Ответ 2

Нет. Я не думаю, что я когда-либо сталкивался с таким лимитом /

EDIT: Извините за случайное замечание.
Согласно спецификациям, нет никаких ограничений, но кто-то попытался достичь этого предела и, кажется, предел для Opera, Safari поддерживает более 4000 классов, а Firefox - не менее 2000 классов!
Источник: http://kilianvalkhof.com/2008/css-xhtml/maximum-number-of-supported-classes-per-element/

Ответ 3

Нет технических ограничений (запрет на объем памяти, который может потреблять браузер), но нужно серьезно подумать о наличии нагрузок классов по любому элементу, поскольку браузеру придется разбирать все классы, применять эти стили и отображать стр.

Кроме того, если вам нужно искать DOM для элементов определенного класса, а элементы содержат множество классов, возможно, вы увидите проблему с производительностью, если интерпретатор JavaScript должен анализировать нагрузки классов.

Ответ 4

Нет,

Ограничений не будет.