Переходы будут дорогостоящими, когда анимация действительно произойдет, определенно, но я считаю, что кроме этого есть небольшой эффект.
Универсальный селектор не такой медленный, как это делают большинство людей. Это своего рода расточительство в применении стилей к элементам, которые никогда не будут использовать эти стили, но эти отходы не так уж и хороши. Тем не менее, всегда лучше указывать , к каким элементам вы хотите применить переходы, но в этом случае я полагаю, что применение глобального перехода звучит справедливо, если вы можете оправдать это.
Я думаю, вы просто должны быть осторожны, чтобы не применять изменения к переходным свойствам для слишком большого количества элементов. Например, в вашем случае помните, что состояние :hover
применяется как к элементу, так и ко всем его предкам (в любом случае в настольных браузерах с четко определенным поведением :hover
).
Современные браузеры поставляются с аппаратным ускорением для ряда вещей (IE9 + для всего ); В сочетании с современным оборудованием вряд ли можно заметить снижение производительности при переходах, по крайней мере, на настольных компьютерах и ноутбуках. Мобильное оборудование (смартфоны и планшеты) может быть более ограниченным, но если вы работаете с адаптивным дизайном, вы можете легко отключить переходы с помощью переключателей @media
.
Это всего лишь два моих цента. Я сам не слишком много играл с переходами, но подытожу: я бы предпочел быть конкретным при применении переходов, но не 1018 * вредно * применять их универсально , если вы знаете, что вы делаешь .
Конечно, вы всегда можете отключить переходы для определенных элементов, создав новое правило с любым выбранным вами селектором и присвоив ему transition-property: none
.