Почему этот переход CSS3 не запущен?

У меня есть <div> класса spoiler с дополнительным классом collapsed что ограничивает его высоту.
Однако, когда я добавляю и удаляю collapsed класс, переход CSS3 для height не уволен.

div.spoiler { height: auto; transition: height 2s ease; }
div.spoiler.collapsed { height: 4px; overflow: hidden; }

Я нашел этот онлайн-ресурс, который делает то же самое, используя jQuery (я использую Dojo), который работает: http://www.impressivewebs.com/css3-transitions-javascript/

Скрипка: http://jsfiddle.net/2Cnxv/

Как мне получить переход на работу?

1 ответ

Решение

На это уже ответили где-то еще.

Вы не можете перевести высоту с числового значения на автоматическое (или наоборот).

Один из обходных путей, который заключается в том, чтобы перенести максимальную высоту, установив ее достаточно высоко (проблема в том, что вы должны угадать это число)

div.foo { height: auto; 
    max-height: 30px;
    border: 1px solid red; 
    transition: max-height 2s ease; }
div.foo.bar { 
    max-height: 4px; 
    overflow: hidden; }
Другие вопросы по тегам