/* * 消息模态框样式 * 支持成功、错误、警告、信息四种类型的提示消息 * 包含动画效果和响应式布局 */ /* 模态框遮罩层 */ .message-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 99999; /* 比 Modal (9999) 更高,确保提示框显示在最顶层 */ opacity: 0; animation: fadeIn 0.3s ease forwards; } .message-modal-overlay.closing { animation: fadeOut 0.3s ease forwards; } /* 模态框容器 */ .message-modal { background-color: #fff; border-radius: 12px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15); padding: 24px; width: 100%; max-width: 420px; position: relative; display: flex; flex-direction: column; align-items: center; transform: translateY(20px); opacity: 0; animation: slideUp 0.3s ease forwards; } .message-modal.closing { animation: slideDown 0.3s ease forwards; } /* 关闭按钮 */ .message-modal-close { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; border-radius: 50%; border: none; background-color: rgba(0, 0, 0, 0.05); color: #666; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; } .message-modal-close:hover { background-color: rgba(0, 0, 0, 0.1); color: #333; } .message-modal-close i { font-size: 18px; } /* 图标包装器 */ .message-modal-icon-wrapper { margin-bottom: 16px; display: flex; align-items: center; justify-content: center; } /* 消息图标 */ .message-modal-icon { font-size: 48px; height: 64px; width: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; } /* 图标类型样式 */ .message-modal-icon.success { color: #52c41a; background-color: rgba(82, 196, 26, 0.1); } .message-modal-icon.error { color: #f5222d; background-color: rgba(245, 34, 45, 0.1); } .message-modal-icon.warning { color: #faad14; background-color: rgba(250, 173, 20, 0.1); } .message-modal-icon.info { color: #1890ff; background-color: rgba(24, 144, 255, 0.1); } /* 模态框内容 */ .message-modal-content { text-align: center; width: 100%; margin-bottom: 20px; } /* 模态框标题 */ .message-modal-title { margin: 0 0 8px; font-size: 20px; font-weight: 600; color: #333; } /* 模态框消息 */ .message-modal-message { font-size: 16px; color: #666; line-height: 1.5; margin-bottom: 12px; } /* 自定义内容 */ .message-modal-custom-content { margin-top: 16px; width: 100%; } /* 按钮容器 */ .message-modal-actions { display: flex; gap: 12px; margin-top: 8px; } /* 按钮样式 */ .message-modal-button { padding: 8px 16px; border-radius: 6px; border: 1px solid #d9d9d9; background: #fff; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; min-width: 80px; } .message-modal-button:hover { border-color: #1890ff; color: #1890ff; } .message-modal-button.primary { background-color: #1890ff; color: white; border-color: #1890ff; } .message-modal-button.primary:hover { background-color: #40a9ff; border-color: #40a9ff; color: white; } /* 模态框类型特定样式 */ .message-modal-success .message-modal-button.primary { background-color: #52c41a; border-color: #52c41a; } .message-modal-success .message-modal-button.primary:hover { background-color: #73d13d; border-color: #73d13d; } .message-modal-error .message-modal-button.primary { background-color: #f5222d; border-color: #f5222d; } .message-modal-error .message-modal-button.primary:hover { background-color: #ff4d4f; border-color: #ff4d4f; } .message-modal-warning .message-modal-button.primary { background-color: #faad14; border-color: #faad14; } .message-modal-warning .message-modal-button.primary:hover { background-color: #ffc53d; border-color: #ffc53d; } /* 动画关键帧 */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes slideDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(20px); opacity: 0; } } /* 响应式样式 */ @media (max-width: 480px) { .message-modal { max-width: 90%; padding: 20px; } .message-modal-icon { font-size: 36px; height: 52px; width: 52px; } .message-modal-title { font-size: 18px; } .message-modal-message { font-size: 14px; } .message-modal-actions { flex-direction: column; width: 100%; } .message-modal-button { width: 100%; } }