2016-01-20 2 views
0

мне нужно анимировать div от ширины 0 (начальный) к ширине fit-content (ширине, которая является таким же, как ширина его содержания)Одушевленных ширинов, чтобы соответствовать содержанию

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

DEMO

Однако, если я делаю это анимация

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

больше не работает. Итак, вопрос в том, как я могу анимировать только для того, чтобы соответствовать контенту?

UPDATE: Я нашел решение here (DEMO

+0

захватить ширину в пикс родителя и анимировать с рх value вместо fit-content – Eric

+1

Я не уверен, что вы можете анимировать такое значение. Почему бы не попробовать что-то вроде этого: https://jsfiddle.net/yzugzf3h/3/ – AtheistP3ace

+0

В мой случай, который не работает, потому что в родительском элементе может находиться несколько элементов: [DEMO] (https://jsfiddle.net/yzugzf3h/4/) –

ответ

1

Вы можете сделать это:

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

как этот JSfiddle: JSfiddle

+0

Есть несколько способов, которыми это можно было бы улучшить, например, переключиться на фактическое значение пригодности после завершения анимации или перезапустить анимацию, если что-то в окне будет изменено. Тем не менее, это может не всегда быть необходимым. – Katana314

Смежные вопросы