Size: a a a

HTML/CSS — русскоговорящее сообщество

2021 January 31

IN

Igor N in HTML/CSS — русскоговорящее сообщество
Я хз, но если кратко — выборка по звёздочке тормозит рендер. Особенно, если применяется к руту
источник

NM

Neo Makela in HTML/CSS — русскоговорящее сообщество
Igor N
Я хз, но если кратко — выборка по звёздочке тормозит рендер. Особенно, если применяется к руту
окей, пойду почитаю на этот счет, спасибо
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Выбор по звездочке тормозит только если звездочка - часть селектора, а не весь, насколько я знаю
источник

NM

Neo Makela in HTML/CSS — русскоговорящее сообщество
Denys Mikhalenko
Выбор по звездочке тормозит только если звездочка - часть селектора, а не весь, насколько я знаю
можно пруфы какие-то и как это вообще работает? я просто хз как css браузером обрабатывается
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Причина кроется в том, что браузеры проверяют правила справа налево, поэтому каждый элемент будет проверяться на соответствие правилу со звездочкой в конце. Впрочем, возможно это уже оптимизировано.
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Грубо говоря, если ты задал селектор вроде
.parent * { ... }
Браузер будет вынужден для каждого элемента проверять, нет ли у него родителя с классом .parent
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
То есть двигаться по дому до самого рута документа. Для каждого (!) элемента
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Если же у тебя селектор * {}, то этого не происходит, каждый элемент матчится звездочкой сразу и правило применяется. И все. Никаких тормозов.
источник

NM

Neo Makela in HTML/CSS — русскоговорящее сообщество
а про то, что большая вложенность селекторов замедляет работа - тоже правда? есть на русском статьи где почитать, а то я как-то пытался углубиться, но видимо недостаточно пытался
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Насколько я знаю все это уже настолько оптимизировано в браузерах, что замедления добиться - это надо еще постараться, но по той логике что я описал - да, возможно это правда )
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Но.. всегда можно сделать очень точный последний селектор и все будет тип-топ
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Например .wrapper .parent .card .card_title { ... }
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Такой длинный и сложный маршрут браузеру придется проверять только для элементов с классом .card_title, если их 1-2 - никаких тормозов не будет
источник

NM

Neo Makela in HTML/CSS — русскоговорящее сообщество
Denys Mikhalenko
Такой длинный и сложный маршрут браузеру придется проверять только для элементов с классом .card_title, если их 1-2 - никаких тормозов не будет
просто я иногда настолько ленюсь, что уже по селкторам тегов стилизую, думаю насколько это критично
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Никогда не стилизуй теги
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Только классы, только хардкор )
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Это очень плохая практика, которая на сложных разметках ведет к неочевидным применениям стилей
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Ибо сделав article span { ... } ты ВСЕ спаны в статье стилизуешь
источник

NM

Neo Makela in HTML/CSS — русскоговорящее сообщество
ну типа у меня есть текстовая нода в параграфе, а он в контейнере и в проекте часто встречается, то я юзаю вложенность класс_контейнера > p {....}
источник

DM

Denys Mikhalenko in HTML/CSS — русскоговорящее сообщество
Ты думаешь - ну и норм, у меня нет же других спанов, только те, что в тексте - все круто работает
источник