如果html盒子使用了-webkit-line-clamp
属性,那么要注意可能会对盒子的动画属性产生影响。
举个例子:
如果一个div设置了style:
height:100px;-webkit-line-clamp:6;transition:height 0.1s ease
某一时刻将div的style修改为:
height:200px;-webkit-line-clamp:100;
现在想让div的高度恢复,那么千万不能将-webkit-line-clamp
立即修改为-webkit-line-clamp:6
如果你这样做了,你会发现高度会瞬间恢复,不再有动画的效果。
究其原因,是因为transition
对-webkit-line-clamp
是无效的,修改了-webkit-line-clamp:6
的瞬间-webkit-line-clamp
就对div高度起作用了,导致动画效果的丢失。
正确的做法是在高度恢复之后再修改为-webkit-line-clamp:6
:
div.addEventListener('transitionend',function(e){
e.target.style="height:100px;-webkit-line-clamp:6;transition:height 0.1s ease"
});