Files
ChowBox/miniapp/pages/recipe-detail/recipe-detail.wxss

197 lines
3.5 KiB
Plaintext
Raw Normal View History

/*
* 菜谱详情
*/
.recipe-detail {
padding-bottom: 140rpx;
}
/* ── 主图 ── */
.hero-img {
width: 100%;
height: 400rpx;
background: #F2EFEB;
}
.hero-placeholder {
width: 100%;
height: 300rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 100rpx;
background: linear-gradient(180deg, #FFF8F2, #FFF0E4);
}
/* ── 头部 ── */
.detail-header {
padding: var(--space-md) var(--space-lg) var(--space-sm);
}
.detail-name {
font-size: var(--text-headline);
font-weight: 700;
color: var(--color-text);
margin-bottom: 8rpx;
}
.detail-meta {
display: flex;
align-items: center;
gap: var(--space-sm);
font-size: var(--text-body-sm);
color: var(--color-text-muted);
}
.detail-meta text {
display: inline-flex;
align-items: center;
padding: 4rpx 14rpx;
background: #F5F2EE;
border-radius: var(--radius-full);
}
/* ── 分区 ── */
.section {
padding: 0 var(--space-lg);
margin-bottom: var(--space-lg);
}
.section-title {
font-size: var(--text-body);
font-weight: 700;
color: var(--color-text);
margin-bottom: var(--space-sm);
}
/* ── 用料 ── */
.ingredient-list {
display: flex;
flex-wrap: wrap;
}
.ing-item {
display: flex;
align-items: center;
padding: 8rpx var(--space-md);
background: #F7F5F2;
border-radius: var(--radius-full);
font-size: var(--text-body-sm);
color: var(--color-text);
margin-right: 12rpx;
margin-bottom: 12rpx;
}
.ing-item.staple {
opacity: 0.4;
}
.amount {
color: var(--color-text-muted);
margin-left: 8rpx;
font-size: var(--text-caption);
}
/* ── 步骤 ── */
.step-list {
display: flex;
flex-direction: column;
}
.step-item {
display: flex;
align-items: flex-start;
margin-bottom: var(--space-sm);
}
.step-item:last-child {
margin-bottom: 0;
}
.step-num {
width: 48rpx;
height: 48rpx;
background: var(--color-primary);
color: #FFFFFF;
border-radius: var(--radius-full);
display: flex;
align-items: center;
justify-content: center;
font-size: var(--text-body-sm);
font-weight: 700;
flex-shrink: 0;
margin-right: var(--space-sm);
}
.step-body {
flex: 1;
min-width: 0;
}
.step-text {
font-size: var(--text-body);
line-height: 1.7;
color: var(--color-text);
padding-top: 6rpx;
}
.step-img {
width: 100%;
border-radius: var(--radius-md);
margin-top: var(--space-sm);
background: #F2EFEB;
}
/* ── 底部栏 ── */
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
padding: var(--space-sm) var(--space-lg);
padding-bottom: calc(var(--space-sm) + constant(safe-area-inset-bottom));
padding-bottom: calc(var(--space-sm) + env(safe-area-inset-bottom));
background: var(--color-surface);
box-shadow: 0 -1rpx 8rpx rgba(0, 0, 0, 0.04);
z-index: 10;
}
.btn-small {
flex: 1;
height: 80rpx;
font-size: var(--text-body-sm);
margin-right: var(--space-sm);
}
.btn-small:last-child {
margin-right: 0;
}
.btn-outline {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
height: 80rpx;
border: 1rpx solid var(--color-hairline);
color: var(--color-text);
background: var(--color-surface);
border-radius: var(--radius-lg);
font-size: var(--text-body-sm);
font-weight: 500;
transition: background 0.15s ease;
}
.btn-outline:active {
background: #FAFAF8;
}
/* ── 加载 ── */
.center {
padding: 160rpx 0;
text-align: center;
color: var(--color-text-muted);
font-size: var(--text-body);
}