На странице есть блок, который содержит в себе три вложенных блока. Подскажите, как сделать плавное скрытие верхнего и нижнего блока при наведении на общий блок? использую opacity, но пропадает содержимое блоков, но фактически они остаются на странице и размер общего блока не изменяется. Если использую display: none, то нет плавности
<div class="block">
<div class="red"></div>
<div class="green"></div>
<div class="blue"></div>
</div>