This commit is contained in:
lik
2026-10-06 21:19:20 +08:00
parent 40d0df3330
commit 509a10e4f1
12 changed files with 440 additions and 314 deletions
+109 -79
View File
@@ -1,77 +1,94 @@
page {
background-color: #FAF6F1;
/* 配色令牌来自 app.wxss(全站唯一来源),本页不留副本 */
background-color: var(--paper);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
.container {
min-height: 100vh;
padding: 24rpx 24rpx 200rpx;
box-sizing: border-box;
/* 底部留出固定保存栏的高度 + 安全区,避免最后一行被盖住 */
padding: 40rpx 32rpx calc(180rpx + env(safe-area-inset-bottom));
}
/* ===== 通栏白块 =====
白面 + 上下各 2rpx 发丝线 + 中性阴影,圆角 0;
负向 margin 抵消容器 32rpx 内距后左右顶到屏幕两侧,
行内再用 32rpx 内距回到同一左基线,行分隔线因此自动通到底 */
.form-card {
background: #FFFFFF;
border-radius: 20rpx;
padding: 8rpx 28rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04);
margin: 0 -32rpx;
background: var(--white);
border-top: 2rpx solid var(--line);
border-bottom: 2rpx solid var(--line);
box-shadow: var(--shadow-card);
}
.form-item {
/* 两块之间用 24rpx 纸面留白分界(与「我的」页菜单组间距同值) */
.form-card + .form-card {
margin-top: 24rpx;
}
/* 行高约 87rpx(28rpx×1.4 + 上下 24rpx),贴近 iOS 44pt 触控目标 */
.form-row {
display: flex;
align-items: center;
min-height: 108rpx;
border-bottom: 1rpx solid #F3F4F6;
justify-content: space-between;
padding: 24rpx 32rpx;
border-bottom: 2rpx solid var(--line);
}
.form-item:last-child {
.form-row-last {
border-bottom: none;
}
.form-item-remark {
flex-direction: column;
align-items: stretch;
padding: 28rpx 0;
}
/* 标签走 --muted、值走 --ink 700:层级靠明度与字重拉开,
不给可点性上色(DESIGN.md §2.2「三档只表示文字层级」) */
.form-label {
width: 160rpx;
flex-shrink: 0;
margin-right: 24rpx;
font-size: 28rpx;
color: #374151;
}
.required {
color: #EF4444;
margin-left: 4rpx;
color: var(--muted);
letter-spacing: 1rpx;
}
.form-input {
flex: 1;
font-size: 28rpx;
color: #1F2937;
min-width: 0;
text-align: right;
font-size: 28rpx;
font-weight: 700;
color: var(--ink);
}
.input-placeholder {
color: #C4C9D2;
.form-placeholder {
color: var(--muted);
font-weight: 400;
}
/* picker 需占满剩余宽度,值才能靠右对齐 */
.form-picker {
flex: 1;
min-width: 0;
}
.picker-value {
flex: 1;
font-size: 28rpx;
color: #1F2937;
display: block;
text-align: right;
font-size: 28rpx;
font-weight: 700;
color: var(--ink);
}
.picker-placeholder {
color: #C4C9D2;
color: var(--muted);
font-weight: 400;
}
/* 性别选择 */
/* ===== 性别选择 =====
未选中是纸面底 + 发丝边 + --muted 字,
选中翻转成软橙底 + 实心橙描边 + --brand-ink 字 */
.sex-wrap {
flex: 1;
display: flex;
justify-content: flex-end;
gap: 20rpx;
}
@@ -79,87 +96,100 @@ page {
display: flex;
align-items: center;
justify-content: center;
width: 120rpx;
height: 64rpx;
border-radius: 32rpx;
background: #F3F4F6;
transition: all 0.2s;
}
.sex-tag-active {
background: #FDF8EE;
border: 2rpx solid #D4A853;
min-width: 120rpx;
padding: 12rpx 0;
border-radius: 999rpx;
background: var(--paper);
border: 2rpx solid var(--line);
}
.sex-text {
font-size: 28rpx;
color: #6B7280;
color: var(--muted);
}
.sex-tag-active {
background: var(--brand-soft);
border-color: var(--brand-strong);
}
.sex-tag-active .sex-text {
color: #D4A853;
font-weight: 600;
color: var(--brand-ink);
font-weight: 700;
}
/* ===== 健康备注 ===== */
.form-remark {
display: flex;
flex-direction: column;
padding: 24rpx 32rpx;
}
/* 健康备注 */
.form-textarea {
width: 100%;
height: 160rpx;
margin-top: 16rpx;
font-size: 28rpx;
color: #1F2937;
color: var(--ink);
line-height: 1.6;
}
/* 24rpx 是中文最小字号下限 */
.remark-count {
align-self: flex-end;
font-size: 22rpx;
color: #C4C9D2;
font-size: 24rpx;
color: var(--muted);
}
/* 隐私提示 */
/* ===== 隐私提示 ===== */
.tips {
display: flex;
align-items: center;
padding: 0 12rpx;
margin-top: 24rpx;
}
.tips-icon {
flex-shrink: 0;
color: var(--muted);
}
.tips-text {
margin-left: 10rpx;
font-size: 24rpx;
color: #B0B7C3;
color: var(--muted);
}
/* 底部固定保存按钮 */
/* ===== 底部固定保存栏 =====
纸面与白面填充差只有 1.05:1,靠一道小偏移小模糊的上向暖墨阴影托住边界 */
.footer-bar {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 20rpx 24rpx calc(20rpx + env(safe-area-inset-bottom));
background: rgba(255, 255, 255, 0.96);
box-shadow: 0 -2rpx 16rpx rgba(0, 0, 0, 0.05);
padding: 20rpx 32rpx calc(20rpx + env(safe-area-inset-bottom));
background: var(--white);
box-shadow: 0 -2rpx 8rpx rgba(63, 43, 25, 0.07);
}
.submit-btn {
display: flex;
align-items: center;
justify-content: center;
height: 88rpx;
border-radius: 44rpx;
background: #D4A853;
}
.submit-btn:active {
opacity: 0.85;
}
.submit-btn-disabled {
opacity: 0.6;
}
.submit-btn-text {
/* 保存是本页唯一的实心暖橙块,独占「全页同类实心块不超过一处」的额度 */
.primary-btn {
margin: 0;
padding: 24rpx 0;
border: none;
border-radius: 999rpx;
background: var(--brand-strong);
box-shadow: var(--shadow-cta);
color: var(--white);
font-size: 30rpx;
font-weight: 600;
color: #FFFFFF;
font-weight: 700;
letter-spacing: 2rpx;
line-height: 1.4;
}
.primary-btn::after {
border: none;
}
.primary-btn-disabled {
opacity: 0.6;
}