Я читал много статей о производительности CSS, таких как;Почему селектора, такие как [title = "home"] медленнее, чем использование класса?
Я понимаю, почему селекторы, как это плохо
#social a {
}
В браузере будет читать первым, а затем вынужден через все <a> теги на странице.
Но почему селектор, таких как а [название = «домой»] медленнее, чем при использовании класса?
Я предполагаю, что браузер создает какой-то индекс, чтобы понять, какие элементы имеют определенный класс (правильно?).
Но не должны ли браузеры индексировать, какие элементы имеют определенный атрибут? (например, название)?
Мой вопрос:; почему CSS/элемент выглядит медленнее при использовании селекторов, таких как a [title = "home"] по сравнению с использованием класса ? Что и как работает браузер, чтобы результат был намного медленнее?
«Но не должны ли браузеры индексировать, какие элементы имеют определенный атрибут?» - Как вы думаете, это имеет смысл? Класс говорит что-то вроде «Эй, я такого типа, кто-нибудь может со мной что-то сделать!» в то время как атрибут placeholder просто говорит «Yo, браузер, сделайте меня таким образом, а затем забудьте обо мне».И поскольку индексирование занимает некоторое время, я думаю, что браузеры хотят индексировать только первый тип атрибутов. – contradictioned
FYI, термин «универсальный селектор» конкретно относится к селектору '*'. 'a [title =" home "]' не является универсальным селектором; '[title =" home "]' без 'a', с другой стороны, вы можете сказать, что использует универсальный селектор * implicit *, потому что он эквивалентен' * [title = "home"] '. – BoltClock
Кроме того, «Поскольку браузер будет первым читать, он вынужден пропустить все теги на странице». Это не так, как ведут себя основные браузеры; см. http://stackoverflow.com/questions/5797014/why-do-browsers-match-css-selectors-from-right-to-left – BoltClock