Можно ли заменить «>» на «>» в селекторах CSS?

#html #css

#HTML #css

Вопрос:

Предположим, у меня есть два HTML-документа со встроенной таблицей стилей, введенной через <style> тег. Первый использует символ «больше, чем» в селекторе:

 <html>
    .......
    <style type="text/css">
        .outer > .inner
        {
            background-color: red;
        }
    </style>
    .......
</html>
  

В то время как во втором документе используется объект «>»:

 <html>
    .......
    <style type="text/css">
        .outer amp;> .inner
        {
            background-color: red;
        }
    </style>
    .......
</html>
  

Действителен ли второй документ? Должен ли я ожидать, что браузеры будут отображать его правильно?

Преобразование > в amp;> сущность не является преднамеренным. Похоже, это побочный эффект вложения таблицы стилей в макрос Confluence, и я пытаюсь выяснить, разрешено ли такое преобразование или это ошибка.

Ответ №1:

Нет, это невозможно:

Атрибут стиля в HTML может представлять символы с использованием числовых или именованных ссылок на символы или экранирования CSS. С другой стороны, элемент style в HTML не может содержать ни числовых, ни именованных ссылок на символы, и то же самое относится к внешней таблице стилей.

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

Комментарии:

1. Вы также могли бы просто запустить свой документ через средство проверки HTML. W3C сразу это улавливает.