Zanzibaa![]() | Непонятные увеличение ширины + преждевременное изменение высоты при анимации1679841972 Добрый день!
Недавно начал изучать HTML+CSS в Юдеми.
Вопрос следующий.
Есть один из блоков:
Вопросы следующие: 1) Почему высота начинает у блока меняться сразу, а не в самую последнюю очередь. Я даже для этого сделал предпоследний шаг на 99%, надеясь, что это как-то повлияет 2) Почему дополнительно к этому постепенно постепенно немного изменяется ширина блока?
Спасибо! |
AlexZav![]() | Обновлен 1679842633 А почему она должна меняться в последнюю очередь? Все происходит в точности так, как вы и описали. Изначально блок имеет высоту 150px, к онию анимации он должен иметь высоту 100px. Вот высота и изменяется со 150px на 0% анимации до 100px на 100% Для того, чтобы высота менялась в нужный вам момент вы должны указать шаг анимации до которого высота остается неизменной. Вот так:
Zanzibaa
Zanzibaa,
«Почему дополнительно к этому постепенно постепенно немного изменяется ширина блока?»
По той же самой причине. На 0% толщина border равна нулю, а на 99% равна 3px, ну а поскольку толщина border не учитывается при расчете размеров блока, эта самая толщина увеличивает блок в размерах.
То есть блок
будет иметь размеры не 100 на 100 пикселей, а 140 на 140 так как к его изначально заданным размерам с каждой стороны добавиться по 20px толщины border-а. Для того чтобы в расчетах размеров элемента учитывалась толщина border, нужно элементу задать свойство box-sizing: border-box;![]() ![]() |