У меня есть код, который выглядит следующим образом:Как оживить до неизвестной высоты в угловом?
<div ng-repeat="row in rows" class="my">
<img ng-src="{{row.pictureUrl}}">
{{row.text}}
</div>
Текущая реализация выглядит следующим образом (это CSS в формате Stylus), должен выглядеть слайд вниз эффект:
$slowAnimationDuration = 100ms
.my
&.ng-animate
transition:all
animation-iteration-count 1
animation-duration $slowAnimationDuration
&.ng-enter
animation-name fadeInQuick
animation-timing-function ease-out
&.ng-leave
animation-name fadeOutQuick
animation-timing-function ease-in
@keyframes fadeInQuick
0%
height 0
opacity 0
20%
height calc(0.5em + 1vh + 1px)
50%
opacity 0.05
100%
height calc(1em + 2vh + 2px)
opacity 1
@keyframes fadeOutQuick
0%
height calc(1em + 2vh + 2px)
opacity 1
100%
height 0
opacity 0
Это код работает, но качество анимации пока настолько хорошее. Проблема связана с отсутствием анимации до height: auto
в CSS. Я использую AngularJS 1.5 и у вас есть ngAnimate. Я могу исправить высоту изображения, но я не могу изменить или отрезать текст.
Как сделать анимацию строк лучше? Возможно ли это?
Обновление: попробовал это answer, выглядит действительно уродливо, на некоторое время страница остается пустой и после содержимого появляется. Кроме того, этот эффект сжатия не выглядит привлекательным.
Я видел этот трюк, но мне нравится этот http://stackoverflow.com/a/17260048/669493, кроме факта сжатия содержимого во время анимации. – zoonman