/* components/popup-notice/popup-notice.wxss */ /* ========== 全屏弹窗样式(原有,完全不变) ========== */ .popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); display: flex; align-items: center; justify-content: center; z-index: 10000; } .popup-container { width: 90%; height: 85vh; background: white; border-radius: 32rpx; display: flex; flex-direction: column; overflow: hidden; position: relative; } .popup-container.fullscreen { width: 100%; height: 100%; border-radius: 0; } .action-buttons { position: absolute; top: 20rpx; right: 20rpx; display: flex; gap: 16rpx; z-index: 10; } .minimize-btn, .fullscreen-btn { width: 60rpx; height: 60rpx; background: rgba(0, 0, 0, 0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4rpx); transition: all 0.2s; } .minimize-btn:active, .fullscreen-btn:active { background: rgba(0, 0, 0, 0.6); transform: scale(0.9); } .btn-icon { font-size: 36rpx; color: white; font-weight: bold; line-height: 1; } .popup-title { font-size: 40rpx; font-weight: bold; color: #000; text-align: center; padding: 30rpx 30rpx 20rpx; border-bottom: 2rpx solid #eee; background: white; } .scroll-wrapper { flex: 1; overflow: hidden; width: 100%; } .scroll-view { height: 100%; width: 100%; padding: 0; } .text-content { font-size: 36rpx; font-weight: bold; color: #000; line-height: 1.6; padding: 30rpx; text-align: left; } .image-block { display: flex; flex-direction: column; width: 100%; margin: 0; padding: 0; } .block-text { font-size: 36rpx; font-weight: bold; color: #000; padding: 16rpx 30rpx 4rpx 30rpx; text-align: left; line-height: 1.4; } .image-padding { padding: 0 30rpx; box-sizing: border-box; width: 100%; } .block-image { width: 100%; display: block; background: #f5f5f5; border-radius: 16rpx; } .bottom-fixed { background: white; border-top: 1rpx solid #eee; padding: 20rpx 0 30rpx 0; width: 100%; box-sizing: border-box; } .countdown-tip { text-align: center; font-size: 28rpx; color: #9333ea; margin-bottom: 20rpx; } .mute-row { display: flex; justify-content: center; margin-bottom: 20rpx; } .mute-label { font-size: 28rpx; color: #555; margin-left: 12rpx; } /* 🔥 关闭按钮(替换原有 button,增加扫光) */ .close-btn { width: 600rpx; height: 100rpx; background: #1a1a1a; border-radius: 60rpx; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; margin: 0 auto; } .close-btn:active { opacity: 0.85; transform: scale(0.98); } .close-btn-disabled { opacity: 0.6; pointer-events: none; } .close-btn-text { color: white; font-size: 40rpx; font-weight: bold; position: relative; z-index: 2; } .close-btn-sweep { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent); transform: skewX(-20deg); animation: sweep 2.5s infinite ease-in-out; z-index: 1; pointer-events: none; } @keyframes sweep { 0% { left: -100%; } 40% { left: 100%; } 100% { left: 100%; } } /* ========== 悬浮窗样式(纯圆形,适配自定义触摸拖动) ========== */ .floating-avatar-wrapper { position: fixed; width: 120rpx; height: 120rpx; z-index: 10001; transform: translateZ(0); will-change: left, top; display: flex; align-items: center; justify-content: center; } .floating-avatar { width: 120rpx; height: 120rpx; border-radius: 50%; box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.3); border: 2rpx solid rgba(196, 181, 253, 0.6); background: #f0f0f0; display: block; transform: translateZ(0); } /* 弃用样式 */ .floating-area { display: none; } .floating-view { display: none; } .float-avatar-wrapper { display: none; } .float-text { display: none; } /* ========== 自定义图片预览遮罩样式(全屏,不触发 onShow) ========== */ .custom-preview-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.95); z-index: 100000; display: flex; flex-direction: column; } .preview-header { height: 100rpx; display: flex; align-items: center; justify-content: space-between; padding: 0 30rpx; color: white; font-size: 32rpx; background: rgba(0, 0, 0, 0.3); } .preview-index { color: white; } .preview-close { width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; font-size: 48rpx; color: white; background: rgba(255, 255, 255, 0.2); border-radius: 50%; } .preview-swiper { flex: 1; width: 100%; height: 100%; } .preview-image { width: 100%; height: 100%; }