<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 на странице и использовании это для рендеринга?
Или это представляет информацию о стилях использования в порядке, который это видит?
Недействительный HTML, во всяком случае, почти каждый браузер, кажется, рассматривает только второй экземпляр.
Протестировано в последних версиях FF и Google Chrome в Fedora и FF, Opera, IE и Chrome в XP.
Я предполагаю, что это будет варьироваться от браузера к браузеру: глобальные правила отображения, вероятно, будут обновлены как браузер выполняет код.
Вы можете иногда видеть такие изменения в глобальных правилах отображения, когда внешняя таблица стилей загружается с задержкой. Что-то подобное может произойти здесь, но в такой короткой последовательности, что фактически не будет отрисовано.
В любом случае это недопустимый HTML, поэтому я бы сказал, что думать об этом бесполезно. Теги