/* 全局样式 */ body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f8f9fa; } /* 导航栏样式 */ .navbar-brand { font-weight: bold; font-size: 1.5rem; } .navbar-nav .nav-link { font-weight: 500; transition: color 0.3s ease; } .navbar-nav .nav-link:hover { color: #007bff !important; } /* 卡片样式 */ .card { border: none; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; margin-bottom: 20px; } .card:hover { transform: translateY(-5px); box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); } .card-title { color: #007bff; font-weight: 600; } /* 按钮样式 */ .btn { border-radius: 50px; padding: 8px 20px; font-weight: 500; transition: all 0.3s ease; } .btn-primary { background-color: #007bff; border-color: #007bff; } .btn-primary:hover { background-color: #0069d9; border-color: #0069d9; transform: translateY(-2px); } .btn-outline-primary { color: #007bff; border-color: #007bff; } .btn-outline-primary:hover { background-color: #007bff; border-color: #007bff; transform: translateY(-2px); } /* 表单样式 */ .form-control { border-radius: 10px; border: 1px solid #ced4da; padding: 10px 15px; transition: border-color 0.3s ease, box-shadow 0.3s ease; } .form-control:focus { border-color: #007bff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-label { font-weight: 600; color: #495057; } /* 商品卡片样式 */ .product-card { height: 100%; display: flex; flex-direction: column; } .product-card .card-img-top { height: 200px; object-fit: cover; border-top-left-radius: 10px; border-top-right-radius: 10px; } .product-card .card-body { flex-grow: 1; display: flex; flex-direction: column; } .product-card .card-text { flex-grow: 1; } .product-price { font-size: 1.25rem; font-weight: 700; color: #dc3545; } /* 购物车样式 */ .cart-item { border-bottom: 1px solid #dee2e6; padding: 15px 0; } .cart-item:last-child { border-bottom: none; } .cart-item img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; } /* 订单状态样式 */ .order-status { padding: 5px 10px; border-radius: 20px; font-size: 0.875rem; font-weight: 600; } .status-pending { background-color: #ffc107; color: #212529; } .status-processing { background-color: #17a2b8; color: white; } .status-shipped { background-color: #6c757d; color: white; } .status-delivered { background-color: #28a745; color: white; } .status-cancelled { background-color: #dc3545; color: white; } /* 分页样式 */ .pagination .page-link { border-radius: 50px; margin: 0 3px; color: #007bff; } .pagination .page-item.active .page-link { background-color: #007bff; border-color: #007bff; } /* 响应式调整 */ @media (max-width: 768px) { .jumbotron { padding: 2rem !important; } .display-4 { font-size: 2.5rem; } .card { margin-bottom: 15px; } } /* 加载动画 */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(0, 123, 255, 0.3); border-radius: 50%; border-top-color: #007bff; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* 提示消息样式 */ .alert { border-radius: 10px; border: none; padding: 15px 20px; } .alert-success { background-color: rgba(40, 167, 69, 0.1); color: #28a745; } .alert-danger { background-color: rgba(220, 53, 69, 0.1); color: #dc3545; } .alert-warning { background-color: rgba(255, 193, 7, 0.1); color: #ffc107; } .alert-info { background-color: rgba(23, 162, 184, 0.1); color: #17a2b8; } /* 表格样式 */ .table { border-radius: 10px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .table thead th { background-color: #007bff; color: white; border: none; } .table tbody tr:hover { background-color: rgba(0, 123, 255, 0.05); } /* 模态框样式 */ .modal-content { border-radius: 15px; border: none; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } .modal-header { border-bottom: 1px solid #dee2e6; border-top-left-radius: 15px; border-top-right-radius: 15px; background-color: #f8f9fa; } .modal-footer { border-top: 1px solid #dee2e6; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; background-color: #f8f9fa; }