Там может быть несколько решений. Если вы хотите использовать только CSS (и без JavaScript), вы могли бы сделать что-то вроде
#div {
...
transition:width 3600s,height 3600s;
}
#div:hover {
...
transition:width 1s,height 1s;
}
Это может быть дешевым решением, но это CSS-только, и это хорошо работает. Переход к установке ширины/высоты обратно к стартовым значениям устанавливается на большое количество времени. Таким образом, переход происходит, но это не видно глазу. Example via jsfiddle
С JavaScript Я бы предпочел присвоить класс элементу вместо того, чтобы устанавливать значения через JS. Я считаю, что такие вещи, как width/height, должны быть установлены в CSS-файлах не в JS.
CSS:
.hovered {
width:300px;
height:300px;
}
JS:
document.querySelector("#div").addEventListener("hover",function() {
this.classList.add("hovered");
});
JS/jQuery:
$("#div").hover(function() {
$(this).addClass("hovered");
});
Для этого нужен javascript! – Luke