Files
qingcheng-xiaochengxu/pages/course/orderDetail/orderDetail.wxss

256 lines
4.1 KiB
Plaintext
Raw Normal View History

2025-08-15 00:36:04 +08:00
/* ===== 页面框架 ===== */
.page {
background: #f7f7f7;
min-height: 100vh;
display: flex;
flex-direction: column;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.content {
flex: 1;
padding: 24rpx 24rpx 200rpx; /* 为底部固定按钮预留空间 */
box-sizing: border-box;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.no-scrollbar::-webkit-scrollbar {
width: 0;
height: 0;
display: none;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
/* 遮罩 */
2025-08-08 19:21:04 +08:00
.page-mask {
position: fixed;
2025-08-15 00:36:04 +08:00
inset: 0;
background-color: rgba(0, 0, 0, 0.35);
2025-08-08 19:21:04 +08:00
z-index: 9999;
}
2025-06-25 15:44:12 +08:00
2025-08-15 00:36:04 +08:00
/* ===== 卡片通用 ===== */
.card {
background: #ffffff;
border-radius: 16rpx;
padding: 24rpx;
box-shadow: 0 8rpx 24rpx rgba(0,0,0,0.05);
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.card + .card {
margin-top: 20rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
/* ===== 顶部卡片:状态 + 倒计时 + 课程 ===== */
.header-card .status-line {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16rpx;
margin-bottom: 16rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.status-badge {
height: 48rpx;
padding: 0 20rpx;
border-radius: 999rpx;
display: inline-flex;
align-items: center;
justify-content: center;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.status-text {
font-size: 26rpx;
font-weight: 600;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.status-pending {
background: #fff6e6;
color: #ff8d1a;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.status-success {
background: #e9fbef;
color: #12b05b;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.status-default {
background: #f0f0f0;
color: #666666;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.countdown-pill {
background: #fff4f2;
border: 1rpx solid #ffd6cc;
padding: 0 18rpx;
height: 48rpx;
border-radius: 999rpx;
display: inline-flex;
align-items: center;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.countdown-text {
font-size: 24rpx;
color: #ff5a1a;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
/* 课程行 */
.course-line {
display: flex;
gap: 20rpx;
align-items: stretch;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.cover {
width: 240rpx;
height: 160rpx;
border-radius: 12rpx;
background: #f2f2f2;
flex-shrink: 0;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.course-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.course-title {
font-size: 32rpx;
font-weight: 600;
color: #1f1f1f;
line-height: 44rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.ellipsis-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.price-line {
display: flex;
align-items: baseline;
gap: 16rpx;
margin-top: 8rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.price-origin {
font-size: 28rpx;
color: #9f9f9f;
text-decoration: line-through;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.price-amount {
font-size: 30rpx;
color: #ff5a1a;
font-weight: 700;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
/* ===== 键值对(订单详情 / 价格明细) ===== */
.kv {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12rpx 0;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.kv + .kv {
border-top: 1rpx dashed #f0f0f0;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.kv-key {
font-size: 28rpx;
color: #666666;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.kv-val {
font-size: 28rpx;
color: #1f1f1f;
max-width: 70%;
text-align: right;
word-break: break-all;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.selectable {
user-select: text;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.divider {
height: 1rpx;
background: #f2f2f2;
margin: 8rpx 0 12rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.discount {
color: #12b05b;
font-weight: 600;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.total {
border-top: 1rpx solid #f2f2f2;
margin-top: 8rpx;
padding-top: 16rpx;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.total-key {
font-size: 30rpx;
color: #333333;
font-weight: 600;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.total-val {
font-size: 34rpx;
color: #ff5a1a;
font-weight: 700;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
/* ===== 底部操作栏 ===== */
.footer {
position: fixed;
left: 0; right: 0; bottom: 0;
background: #ffffff;
box-shadow: 0 -6rpx 20rpx rgba(0,0,0,0.06);
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.footer-inner {
height: 120rpx;
display: flex;
align-items: center;
justify-content: center;
gap: 24rpx;
padding: 0 24rpx;
box-sizing: border-box;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.footer-inner.two-btns { justify-content: space-between; }
.footer-inner.one-btn { justify-content: flex-end; }
.btn {
height: 88rpx;
min-width: 260rpx;
border-radius: 999rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 30rpx;
font-weight: 600;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.btn-ghost {
background: #ffffff;
color: #333333;
border: 2rpx solid #e6e6e6;
2025-06-25 15:44:12 +08:00
}
2025-08-15 00:36:04 +08:00
.btn-primary {
background: linear-gradient(180deg, #ffa64a 0%, #ff8d1a 100%);
2025-06-25 15:44:12 +08:00
color: #ffffff;
2025-08-15 00:36:04 +08:00
box-shadow: 0 6rpx 14rpx rgba(255, 141, 26, 0.35);
2025-07-20 18:22:59 +08:00
}
2025-08-15 00:36:04 +08:00
/* ===== 迁移提示:以下旧的散装类建议删除(如无外部依赖) ===== */
/* .ml-37, .ml-7, .mt-15, .ml-3, .ml-23, .mt-17, .mt-11, .mt-389 等 */