предисловие
Поленитесь сегодня, не вдавайтесь в длинные истории и поделитесь небольшими знаниями CSS, которых вы, возможно, не знаете.
порядок стилей
CSS-код:
.red {
color: red;
}
.blue {
color: blue;
}
HTML-код:
<div class="red blue">这是什么颜色</div>
<div class="blue red">这是什么颜色</div>
Я помню, что раньше это был относительно популярный тестовый вопрос CSS, и казалось, что многие люди ответили неправильно (более 30%).
Ответ, который вы должны знать.
Может улучшить производительность CSS, как это
селектор потомков
Что такое пространство в середине селектора стиля? Его имя --селектор потомков.
div p {
color: #3388ff;
font-size: 14px;
}
Селекторы потомков могут быть дорогими
Энергопотребление зависит от размера элемента, но не рекомендуется использовать бессмысленный селектор потомков. Например:
.div p {
// ...
}
Почему это потребляет больше производительности?
Поскольку браузер сначала находит всеp
тег, а затем посмотрите вверх, чтобы найтиclass
дляdiv
Этикетка. Таким образом, если в коде многоp
Этикетки, несомненно, будут выполнять много повторяющейся работы.
Таким образом, вы можете сократить использование тегов HTML для определения CSS и использовать определенныеclass
.
Браузеры анализируют селекторы CSS справа налево
.content_box div p a {
// ...
}
Браузер обработает приведенный выше пример следующим образом:
- Сначала найдите все страницы
<a>
элемент - Затем поднимитесь, чтобы найти
<p>
элемент завернутый<a>
элемент - смотреть вверх, пока
.content_box
Элементы
Из приведенных выше шагов мы видим, что чем правильнее селектор, тем более он уникален и тем эффективнее браузер будет анализировать свойства CSS.
Поэтому обязательно используйте специальныеclass
Напишите CSS-код.
Избегайте рисков перекомпоновки
Мы знаем, что изменение определенных свойств CSS вызовет перерисовку/перекомпоновку всего макета страницы.
перерисовка выполняется намного быстрее, чем перекомпоновка, поэтому более важно избегать перекомпоновки.
Что вызывает перерисовку и оплавление
- Добавление, модификация, удаление элемента DOM (перерисовка, перекомпоновка)
- Просто измените цвет шрифта элемента DOM (перекрасьте, не нужно настраивать макет)
- Применение новых стилей или изменение любых свойств, влияющих на внешний вид элемента (перерисовка, перекомпоновка)
- изменение размера, прокрутка страницы (перерисовка, перекомпоновка)
- Чтение некоторых свойств элемента (offsetTop/Left/Width/Height, getComputedStyle, scrollTop/Left/Width/Height, clientTop/Left/Width/Height и т. д.) (перерисовка, перекомпоновка)
Если эти свойства изменены для большого количества элементов, расчет и обновление их положения/размера может занять много времени.
Более требовательные к производительности свойства CSS
Некоторые свойства CSS потребляют больше производительности, чем другие, т. е. браузеру требуется больше времени для анализа этих свойств.
Такие как:border-radius
,box-shadow
,filter
,:nth-child
Ждать
Конечно, эти свойства часто используются, и некоторых нельзя избежать. Сделайте соответствующие компромиссы.
Я надеюсь, что эти небольшие знания CSS могут быть вам полезны, а затем поставьте лайк и вперед.
наконец
Если вы хотите присоединиться к [большой группе по обмену интерфейсом], подпишитесь на официальный аккаунт и нажмите «общение и группа», чтобы добавить робота, который будет автоматически втягивать вас в группу. Следуйте за мной, чтобы получать последние галантерейные товары в первый раз.