Я не смог найти ничего в документах W3C, в которых говорится, что символы канала, | , не разрешены, например:
<div class="class1|class2">
Не беспокойся о том, для чего я могу его использовать. Мне просто интересно, если это "законно".
Соответствующие правила можно найти в разделе токенизации синдрома w3c , хотя из этого довольно сложно сделать вывод, действителен ли канал или нет. , т.е.:
selector : any+; any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES | DASHMATCH | ':' | FUNCTION S* any* ')' | '(' S* any* ')' | '[' S* any* ']' ] S*;
Это допустимый символ в имени класса. Фактически, я вижу сайт, использующий pipe (|) только для разделения классов. Что я считаю хорошей практикой для удобочитаемости.
Это допустимый HTML, так как тип данных класса - CDATA. У вас будут проблемы с селекторами CSS, потому что канал не является допустимым символом для селектора.