@keyframes bounceIn { 0% { transform: scale(0.1); opacity: 0; } 60% { transform: scale(1.2); opacity: 1; } 100% { transform: scale(1); } } @keyframes bounceOut { 20% { transform: scale(1.2); } 100% { transform: scale(0); opacity: 0; } } @keyframes slideDownIn { 0% { opacity: 0; transform-origin: 0% 0%; transform: scaleY(.8); } 100% { opacity: 1; transform-origin: 0% 0%; transform: scaleY(1); } } @keyframes slideDownOut { 0% { opacity: 1; transform-origin: 0% 0%; transform: scaleY(1); } 100% { opacity: 0; transform-origin: 0% 0%; transform: scaleY(.8); } } .container { width: 280px; position: absolute; top: 0; left: 0; background-color: white; z-index: 1; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); } .in { animation: slideDownIn 0.2s; } .out { animation: slideDownOut 0.2s; } .panel { position: relative; }