.overlay { width: 100%; height: 100%; background-color: rgba(10, 10, 10, 0.5); /* Semi-transparent black */ z-index: 9999; display: flex; justify-content: center; align-items: center; /* Center the spinner vertically and horizontally */ position: absolute; top: 50%; left: 50%; opacity: 0.5; transform: translate(-50%, -50%); } /* Define the transition */ .fade-enter-active, .fade-leave-active { transition: opacity 0.2s ease; } .fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ { opacity: 0; }