Вам нужно будет использовать несколько специфичных для браузера свойств (moz-transition, webkit-transition ...)
Хорошее объяснение того, как их использовать, есть: https://developer.mozilla.org/en/CSS/CSS_transitions
для вашего случая это будет что-то вроде
.showUp {
transition:height .5s;
height:50px;
overflow:hidden;
}
.showLeft {
transition:width .5s;
width:0px
overflow:hidden;
}
.showUp.hideUp {
height:0px
}
.showLeft.hideLeft {
width:50px
}
И переключение классов HideUp и HideLeft для перехода.