Files
Pet3/miniprogram/components/manual-add-sheet/index.wxss
2026-06-25 18:24:29 +08:00

60 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.overlay {
font-family: var(--font);
position: fixed; inset: 0; z-index: 60;
background: rgba(46,42,36,0.42);
display: flex; align-items: flex-end;
opacity: 0; pointer-events: none; transition: opacity .22s;
}
.overlay.show { opacity: 1; pointer-events: auto; }
.sheet {
width: 100%;
background: var(--surface);
border-radius: 44rpx 44rpx 0 0;
padding: 16rpx 32rpx calc(32rpx + env(safe-area-inset-bottom));
transform: translateY(40rpx); transition: transform .26s;
max-height: 88vh;
display: flex; flex-direction: column; /* 头部/底部固定,中间表单滚动 */
}
.overlay.show .sheet { transform: translateY(0); }
.handle { flex-shrink: 0; width: 72rpx; height: 8rpx; border-radius: 4rpx; background: var(--line-2); margin: 12rpx auto 24rpx; }
.title { flex-shrink: 0; font-size: 32rpx; font-weight: 600; text-align: center; }
.subtitle { flex-shrink: 0; font-size: 22rpx; color: var(--ink-2); text-align: center; margin: 8rpx 0 20rpx; }
/* 可滚动表单区:内容再多,底部按钮也不会被挤出可视区 */
.sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.field { padding: 22rpx 0; border-bottom: 1rpx solid var(--line); }
.field.last { border-bottom: none; }
.flabel { font-size: var(--form-label-size); color: var(--ink-2); margin-bottom: 12rpx; }
.chips { display: flex; flex-wrap: wrap; gap: 16rpx; }
.chip { font-size: var(--chip-font-size); padding: var(--chip-padding-y) var(--chip-padding-x); border-radius: var(--radius-pill); border: 1rpx solid var(--line-2); background: var(--surface-2); line-height: 1.4; }
.chip.sel { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-deep); font-weight: 600; }
.fpick { min-height: var(--input-height); font-size: var(--input-font-size); background: var(--surface-2); border-radius: var(--input-radius); padding: var(--input-padding-y) var(--input-padding-x); line-height: 1.4; display: flex; align-items: center; justify-content: space-between; }
.fpick .chev { color: var(--ink-3); font-size: var(--icon-size-sm); line-height: 1; }
.finput { height: var(--input-height); min-height: var(--input-height); font-size: var(--input-font-size); background: var(--surface-2); border-radius: var(--input-radius); padding: var(--input-padding-y) var(--input-padding-x); line-height: 1.4; }
.rule {
margin: 16rpx 0;
font-size: 22rpx; color: #7a5a1e;
background: #FFF7E8; border: 1rpx dashed var(--accent);
border-radius: 12rpx; padding: 16rpx 18rpx; line-height: 1.5;
}
.btns { flex-shrink: 0; display: flex; gap: 20rpx; padding-top: 16rpx; }
/* 组件样式隔离app.wxss 的 .btn 不会透传进来,按本组件已有做法在此本地补全 */
.btn {
height: var(--btn-height);
border-radius: var(--radius-pill);
border: 1rpx solid var(--line-2);
background: var(--surface);
color: var(--ink);
font-size: 28rpx; font-weight: 600;
display: flex; align-items: center; justify-content: center; gap: 12rpx;
width: 100%; line-height: 1;
}
.btn::after { border: none; }
.btn.primary { background: var(--accent); color: #fff; border-color: transparent; }
.btn.ghost { background: transparent; }
.btn:active { opacity: 0.96; }