Подтвердить что ты не робот

Чем быстрее CSS?

Является div.container быстрее .container? Вы знаете, как в jquery, если вы более конкретны с вашими селекторами, это быстрее, так как он выполняет итерацию через меньшее. Это в случае css?

Есть ли способ измерения производительности в css? Производительность мудрая, что-то вроде этого даже имеет значение или все зависит от веса текста в основном?

Я был бы рад, если кто-то знает ответ на него, я действительно нашел подобный вопрос без определенного ответа. Может ли CSS быть более эффективным, если он лучше указан?

4b9b3361

Ответ 1

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

Селекторы имеют присущую эффективность. Порядок более эффективных селекторов CSS выглядит следующим образом:

  • ID, например. #header
  • Класс, например. .promo
  • Введите тип, например. div
  • Смежный брат, например. h2 + p
  • Ребенок, например. li > ul
  • Потомство *, например. ul a*
  • Универсальный, т.е. *
  • Атрибут, например. [type="text"]
  • Псевдо-классы/-элементы, например. a:hover

В отношении вашего второго вопроса:

Есть ли способ измерения производительности в CSS?

Стив Соудерс выпустил онлайн-тест для оценки производительности CSS, который все еще доступен здесь .

В настоящее время существуют лучшие способы измерения производительности, но это быстрый и простой ресурс, с которым вы можете играть.

Производительность мудрая, что-то вроде этого даже имеет значение или все зависит от веса текста в основном?

Короткий ответ - "не совсем".

Долгий ответ: "Это зависит". Если вы работаете на простом сайте, нет смысла беспокоиться о производительности CSS, кроме общих знаний, которые вы можете получить из лучших практик.

Если вы создаете сайт с десятками тысяч элементов DOM, тогда да, это будет иметь значение.

Ответ 2

Как правило, чем меньше правил, тем лучше, поэтому .container будет быстрее, чем div.container. Помимо кэширования, файл .container считывается первым, тогда другие элементы должны иметь добавленный div в качестве фильтра второго уровня... ненужным при многих обстоятельствах.

Это довольно часто встречается в движке, хотя есть небольшие дельта.

См. эту статью: Написание эффективного CSS, который, хотя он и из MDN (и, следовательно, для Mozilla-ориентированного), имеет значение для большей части того, что Я знаю об двигателях вообще.

Ответ 3

delta между лучшим случаем, а наихудший - 50 мс. Другими словами, рассмотрите производительность селектора, но не тратьте на него слишком много времени. См.: https://smacss.com/book/selectors

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

Если .container и div.container соответствуют точно таким же элементам на вашей странице, первый может быть еще быстрее: если браузер сначала оценит .container, на самом деле он был бы закончен, но с div.container он имеет ДОПОЛНИТЕЛЬНО проверять, является ли элемент div.

отказ от ответственности: я не знаю, как браузеры действительно реализуют эти вещи. Мои выводы основаны на связанной статье.