Используя <стиль> отмечает на <тело> с другим HTML

<html>
  <body>
    <style type="text/css">
      p.first {color:blue}
      p.second {color:green}
    </style>

    <p class="first">Hello World</p>
    <p class="second">Hello World</p>

    <style type="text/css">
      p.first {color:green}
      p.second {color:blue}
    </style>

    <p class="first">Hello World</p>
    <p class="second">Hello World</p>
  </body>
</html>

Как браузер, как предполагается, представляет CSS, которая не непрерывна? Это, как предполагается, генерирует некоторую структуру данных с помощью всех стилей CSS на странице и использовании это для рендеринга?

Или это представляет информацию о стилях использования в порядке, который это видит?

183
задан Josh Stodola 14 May 2010 в 02:30
поделиться

6 ответов

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

Протестировано в последних версиях FF и Google Chrome в Fedora и FF, Opera, IE и Chrome в XP.

7
ответ дан 23 November 2019 в 06:00
поделиться

Я предполагаю, что это будет варьироваться от браузера к браузеру: глобальные правила отображения, вероятно, будут обновлены как браузер выполняет код.

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

В любом случае это недопустимый HTML, поэтому я бы сказал, что думать об этом бесполезно. Теги