taibai_shopping/app/static/css/admin_users.css
2025-07-09 05:22:28 +08:00

352 lines
6.9 KiB
CSS

/* 用户管理页面样式 */
.admin-users {
padding: 0;
}
/* 统计卡片样式 */
.stats-card {
border: none;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
transition: transform 0.2s;
}
.stats-card:hover {
transform: translateY(-2px);
}
.stats-card .card-title {
font-size: 1.8rem;
font-weight: 600;
color: #333;
margin-bottom: 0.25rem;
}
.stats-card .card-text {
color: #666;
font-size: 0.9rem;
margin-bottom: 0;
}
.icon-wrapper {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
color: white;
}
.icon-wrapper.primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.icon-wrapper.success {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}
.icon-wrapper.danger {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}
.icon-wrapper.info {
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
color: #333;
}
/* 用户头像样式 - 表格中的头像 */
.avatar-wrapper {
width: 48px !important;
height: 48px !important;
position: relative;
overflow: hidden !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
.user-avatar {
width: 48px !important;
height: 48px !important;
border-radius: 50% !important;
object-fit: cover !important;
border: 2px solid #f8f9fa !important;
display: block !important;
max-width: 48px !important;
max-height: 48px !important;
min-width: 48px !important;
min-height: 48px !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
.user-avatar-placeholder {
width: 48px !important;
height: 48px !important;
border-radius: 50% !important;
background: #e9ecef !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 1.2rem !important;
color: #6c757d !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
/* 用户详情模态框中的头像容器 */
.user-avatar-large-wrapper {
width: 80px !important;
height: 80px !important;
margin: 0 auto !important;
overflow: hidden !important;
border-radius: 50% !important;
position: relative !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
/* 用户详情模态框中的头像 */
.avatar-large {
width: 80px !important;
height: 80px !important;
border-radius: 50% !important;
object-fit: cover !important;
border: 3px solid #f8f9fa !important;
display: block !important;
max-width: 80px !important;
max-height: 80px !important;
min-width: 80px !important;
min-height: 80px !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
.avatar-placeholder-large {
width: 80px !important;
height: 80px !important;
border-radius: 50% !important;
background: #e9ecef !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 2rem !important;
color: #6c757d !important;
flex-shrink: 0 !important;
flex-grow: 0 !important;
}
/* 强制覆盖Bootstrap的所有可能的图片样式 */
.user-detail img,
.table img,
.modal img {
max-width: none !important;
max-height: none !important;
}
.user-detail img.avatar-large,
.modal img.avatar-large {
width: 80px !important;
height: 80px !important;
max-width: 80px !important;
max-height: 80px !important;
min-width: 80px !important;
min-height: 80px !important;
}
.table img.user-avatar {
width: 48px !important;
height: 48px !important;
max-width: 48px !important;
max-height: 48px !important;
min-width: 48px !important;
min-height: 48px !important;
}
/* 表格样式 */
.table th {
background-color: #f8f9fa;
border-bottom: 2px solid #dee2e6;
font-weight: 600;
color: #495057;
}
.table td {
vertical-align: middle;
padding: 1rem 0.75rem;
}
.table-hover tbody tr:hover {
background-color: #f8f9fa;
}
/* 按钮组样式 */
.btn-group .btn {
padding: 0.375rem 0.75rem;
font-size: 0.875rem;
}
/* 空状态样式 */
.empty-state {
text-align: center;
padding: 3rem 1rem;
color: #6c757d;
}
.empty-state i {
font-size: 3rem;
margin-bottom: 1rem;
color: #dee2e6;
}
.empty-state div {
font-size: 1.1rem;
margin-bottom: 0.5rem;
}
/* 用户详情信息样式 */
.user-detail {
padding: 1rem;
}
.user-info-list {
margin-top: 1rem;
}
.user-info-item {
display: flex;
align-items: center;
padding: 0.75rem 0;
border-bottom: 1px solid #f8f9fa;
}
.user-info-item:last-child {
border-bottom: none;
}
.user-info-label {
font-weight: 500;
color: #495057;
width: 120px;
flex-shrink: 0;
}
.user-info-value {
color: #333;
flex: 1;
}
/* 响应式设计 */
@media (max-width: 768px) {
.table-responsive {
font-size: 0.875rem;
}
.btn-group .btn {
padding: 0.25rem 0.5rem;
font-size: 0.75rem;
}
.stats-card .card-title {
font-size: 1.5rem;
}
.icon-wrapper {
width: 40px;
height: 40px;
font-size: 1.2rem;
}
.user-avatar {
width: 40px !important;
height: 40px !important;
max-width: 40px !important;
max-height: 40px !important;
min-width: 40px !important;
min-height: 40px !important;
}
.avatar-wrapper {
width: 40px !important;
height: 40px !important;
}
.user-avatar-placeholder {
width: 40px !important;
height: 40px !important;
font-size: 1rem !important;
}
}
/* 筛选表单样式 */
.card .form-label {
font-weight: 500;
color: #495057;
}
.form-control:focus, .form-select:focus {
border-color: #667eea;
box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
/* 分页样式 */
.pagination .page-link {
color: #667eea;
border-color: #dee2e6;
}
.pagination .page-link:hover {
color: #495057;
background-color: #f8f9fa;
border-color: #dee2e6;
}
.pagination .page-item.active .page-link {
background-color: #667eea;
border-color: #667eea;
}
/* 用户详情模态框样式 */
.modal-content {
border-radius: 12px;
border: none;
box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
.modal-header {
background-color: #f8f9fa;
border-bottom: 1px solid #dee2e6;
border-radius: 12px 12px 0 0;
}
.modal-title {
font-weight: 600;
color: #333;
}
/* 徽章样式 */
.badge {
font-size: 0.75rem;
font-weight: 500;
padding: 0.35em 0.65em;
}
/* 加载状态 */
.loading {
text-align: center;
padding: 2rem;
color: #6c757d;
}
.loading i {
font-size: 2rem;
margin-bottom: 1rem;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}