CSS: есть ли ограничение на количество классов, которые может иметь элемент HTML? - PullRequest
26 голосов
/ 04 декабря 2010

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

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

Но есть ли ограничения на , сколько классов разрешено на элемент?

Ответы [ 4 ]

20 голосов
/ 04 декабря 2010

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

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

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

6 голосов
/ 04 декабря 2010

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

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

0 голосов
/ 04 декабря 2010

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

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

0 голосов
/ 04 декабря 2010

Нет,

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...