.modal-wrapper { background-color: rgba(0, 0, 0, 0.4); width: 100vw; height: 100vh; height: 100dvh; position: fixed; left: 0; top: 0; display: flex; align-items: center; justify-content: center; z-index: 999; } .modal-content { display: flex; flex-direction: column; background: #fff; border-radius: 20rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2); transition: all 0.2s ease; will-change: transform, opacity; opacity: 0; transform: scale(0.9); max-width: 90vw; max-height: 80vh; position: relative; overflow: hidden; &.modal-show { opacity: 1; transform: scale(1); } .head-box { box-sizing: border-box; width: 100%; position: sticky; top: 0; z-index: 10; background: #fff; display: flex; flex-direction: row; padding: 30rpx; align-items: center; justify-content: space-between; flex-shrink: 0; border-bottom: 2rpx solid #f0f0f0; .title { flex: 1; font-weight: 600; color: rgba(21, 23, 31, 1); font-size: 32rpx; margin-right: 20rpx; } .close-btn { z-index: 1; cursor: pointer; padding: 10rpx; margin: -10rpx; .iconfont { font-size: 30rpx; color: #333; } } } .content-box { flex: 1; padding: 20rpx 30rpx 40rpx; overflow: auto; min-height: 0; } } .modal-mask { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; z-index: -1; }