Я хочу сделать анимацию, масштабируя ширину div от 0% до 100% содержимого div .Я не могу использовать px, чтобы установить размеры div в ключевых кадрах, потому что благодаря display: inline-block
размеры div меняются в зависимости от длины текста внутри div.Тогда я должен использовать процент.
Проблема в том, что процент относится к ширине сайта, а не к ширине div с текстом.Таким образом, во время анимации div расширяется до 100% ширины сайта и после этого приспосабливается к длине текста.
Как избежать увеличения ширины div до 100% сайта и анимировать только ширину div на основе текста?
Вот мой код:
.expanding_div {
height: 40px;
background-color: black;
line-height: 40px;
display: inline-block;
color: white;
font-size: 20px;
font-weight: bold;
overflow: hidden;
text-overflow: clip;
padding-left: 15px;
padding-right: 15px;
position: absolute;
animation: rozwiniecie-nakladka4 700ms ease-in-out;
animation-delay: 750ms;
}
@keyframes rozwiniecie-nakladka4 {
0% {
width: 0%;
}
100% {
width: 100%;
}
<div class="expanding_div">Adam Nowak i Jan Kowalski</div>
Этот jsfiddle имеет здесь тот же код.
РЕДАКТИРОВАТЬ:
Могу ли я использовать getBoundingClientRect()
, чтобы каким-то образом получить размер div и использовать размер для анимации ключевых кадров?Если так - как это сделать правильно?