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

Может ли атрибут элемента "класс" HTML содержать разрывы строк?

Может ли атрибут 'class' элементов HTML5 содержать разрывы строк? Допускается ли это в спецификациях и поддерживают ли браузеры?

Я спрашиваю, потому что у меня есть код, который динамически вставляет в класс различные классы, и это создало одну очень длинную строку, которой трудно управлять. Обычно я бы построил значение класса с помощью переменной, но используемая мной CMS требует, чтобы условные теги шаблона были размещены в ряд с HTML. Я не могу использовать переменные или PHP.

Что я нашел в своих исследованиях, так это то, что некоторые атрибуты HTML-тегов должны быть одной строкой, но я не смог обнаружить, является ли атрибут класса одним из них.

Кто-нибудь знает что-то об этом?

4b9b3361

Ответ 1

В спецификация HTML 4 атрибут class CDATA:

Пользовательские агенты должны интерпретировать значения атрибутов следующим образом:

o Заменить символы символов символами

o Игнорировать линейные каналы

o Замените каждый возврат каретки или вкладку одним пространством.

чтобы вы были в хорошей форме.

спецификация HTML5 описывает класс как набор разделенных пробелами токенов, где "пробел" включает символы новой строки.

Итак, ты тоже должен быть там хорош.

Ответ 2

Может ли атрибут [class] элементов HTML5 содержать разрывы строк?

Да. Спецификация HTML5 говорит:

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

Ссылка продолжает:

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

И пробельные символы включают:

  • space (' ')
  • вкладка (\t)
  • line feed (\n)
  • form feed (\f)
  • возврат каретки (\r)

Символы пробела для целей этой спецификации: U + 0020 SPACE, "tab" (U + 0009), "LF" (U + 000A), "FF" (U + 000C) и "CR" (U + 000D).

Новые строки, которые вы добавили бы в документы UTF-8:

  • line feeds (\n)
  • возврат каретки (\r)
  • возврат каретки, сопровождаемый сразу же строкой (\r\n)