Как CSS и DOM реализованы в браузере?

Ночные сборки идеальны для выполнения статического анализа кода (см. qalab и проекты, это собирает статистику из того, если Вы находитесь в мире Java). К сожалению, это - что-то, что это редко делается.

11
задан Jlam 31 October 2009 в 20:59
поделиться

3 ответа

Сопоставление отвечает на вопрос «какие селекторы соответствуют данному узлу», а не «какие узлы соответствуют селектору». Это позволяет вам просто оценивать каждую часть селектора относительно текущего узла (сравнивать имя / идентификатор / класс узла). Комбинатор потомков и наследование выполняются путем сканирования родительских узлов.

Если вам интересно, что будет дальше, в блоге WebKit есть хорошая серия: Основы рендеринга WebCore

10
ответ дан 3 December 2019 в 08:30
поделиться

Итак, вот немногочисленные документы:

Из вашего вопроса кажется, что вы должны сначала узнать больше о том, как должен работать CSS (например, что такое специфичность правил, вычисляемый стиль).

2
ответ дан 3 December 2019 в 08:30
поделиться

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

[W] что структура данных или алгоритм используются для сопоставления селектора CSS с конкретным элементом DOM ... выполняется ли это с помощью хеш-таблицы?

Я полагаю, что прямой ответ на ваш вопрос для FF2 - скорее всего, находится в каталоге стилей исходного кода firefox. Поиск в этом каталоге «хеш-таблицы» дает 111 результатов в 7 файлах.

Я уверен, что хэш-таблицы широко связаны с некоторыми процессами, участвующими в отрисовке стилей CSS.

Итак, краткий ответ на ваш вопрос: «Да, но это нечто большее, чем просто хеш-таблицы».

1
ответ дан 3 December 2019 в 08:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: