Подтвердить что ты не робот

Что означает * перед ссылкой на класс?

У меня есть код, как показано ниже:

<div class="new-modal *max-height--xxl flex--0-1">

Я хочу знать, что означает *max-height--xxl здесь?

Это другой вопрос к wildcard * в CSS для классов

Я хочу задать префикс * в ссылке класса html.

4b9b3361

Ответ 1

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

Например, допустим следующий HTML:

<figure class="foo bar baz %foo *bar _baz 'foo (bar )baz"></figure>

Здесь foo - один класс, %foo - второй несвязанный класс, а 'foo - третий несвязанный класс.

Также справедливо следующее:

<figure class="%*_'()"></figure>

В спецификации HTML5 указано, что атрибут class должен быть набором токенов, разделенных пробелами. Далее мы определяем их как:

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

Стоит отметить, что эти символы, возможно, нуждаются в экранировании (путем префикса их символом обратной косой черты (\)), чтобы быть нацеленным на селектор CSS.

.\%\*\_\'\(\) {
  color: red;
}
<figure class="%*_'()">
  Hello, world!
</figure>

Ответ 2

Это не значит ничего особенного. Имя класса начинается с символа *.

Это может быть взлом, предназначенный для изменения имени класса и, фактически, его комментарий, поэтому он больше не соответствует селектору CSS.

var c = document.querySelector('div').classList;
var list = [];
for (var i = 0; i < c.length; i++) {
  list.push(c[i]);
};
document.body.innerHTML = list.join(" / ");
<div class="new-modal *max-height--xxl flex--0-1"></div>