2016-01-20 52 views
0

我需要从0(初始)的宽度动画一个div至宽度fit-content(的宽度是相同的其内容的宽度)动画宽度以适应含量

$('div').css('width', 'fit-content'); 

DEMO

但是,如果我这样做动画

transition: width .5s ease-in-out; 

不工作了。所以问题是我如何动画才能适应内容?

更新:我找到了解决办法hereDEMO

+0

抢在父的像素宽度与像素动画值而不是fit-content – Eric

+1

我不确定你可以为这样的值设置动画。为什么不尝试这样的:https://jsfiddle.net/yzugzf3h/3/ – AtheistP3ace

+0

In我的情况不起作用,因为多个元素可以在父级:[DEMO](https://jsfiddle.net/yzugzf3h/4/) –

回答

1

你可以这样做:

setTimeout(function() { 
    $('div').css('width', $('div').find('span').width() + 'px'); 
}, 1000); 

这样的jsfiddle: JSfiddle

+0

有几种方法可以增强,例如一旦动画完成后切换到实际的合适内容值,或者如果窗口中的某些内容被调整大小,则重新启动动画。但这些可能并不总是必要的。 – Katana314