Files
zt-closet-wxmini-frontend/miniprogram/pages/ai-recommend/ai-recommend.wxss
T
2026-09-15 23:04:38 +08:00

229 lines
3.6 KiB
Plaintext

/** AI 推荐:呼吸感圆环生成态 + 拼图结果卡 + 悬浮玻璃操作条 **/
.page-flex {
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
.scroll-body {
flex: 1;
height: 0;
}
/* 生成中 */
.ai-gen {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 var(--pad) 120rpx;
}
.ai-ring {
width: 216rpx;
height: 216rpx;
border-radius: 50%;
box-shadow: inset 0 0 0 1rpx var(--hairline-2);
display: flex;
align-items: center;
justify-content: center;
animation: aiBreath 2.4s var(--ease) infinite;
}
.ai-ring-core {
width: 152rpx;
height: 152rpx;
border-radius: 50%;
background: var(--paper-2);
display: flex;
align-items: center;
justify-content: center;
color: var(--ink-2);
}
.ai-ring-core .icon {
width: 56rpx;
height: 56rpx;
}
@keyframes aiBreath {
0%, 100% { transform: scale(.96); opacity: .6; }
50% { transform: scale(1); opacity: 1; }
}
.ai-gen-t {
margin-top: 64rpx;
font-family: var(--serif);
font-size: 42rpx;
font-weight: 500;
letter-spacing: -.005em;
}
.ai-gen-d {
margin-top: 18rpx;
font-size: 25rpx;
color: var(--ink-2);
}
/* 异步轮询期间的心跳:让慢生成看得见进度,避免误以为卡死 */
.ai-gen-elapsed {
margin-top: 16rpx;
font-size: 23rpx;
color: var(--ink-3);
letter-spacing: .02em;
}
/* 结果 */
.ai-cover {
padding: 40rpx var(--pad) 0;
}
.ai-info {
padding: 48rpx var(--pad) 0;
}
.ai-tags {
display: flex;
flex-wrap: wrap;
gap: 12rpx;
margin-top: 26rpx;
}
.ai-desc {
margin-top: 28rpx;
}
.ai-items {
margin-top: 64rpx;
}
.ai-items-scroll {
white-space: nowrap;
}
.ai-items-row {
display: inline-flex;
gap: 28rpx;
padding: 0 var(--pad);
}
.ai-chip {
display: flex;
flex-direction: column;
width: 160rpx;
}
.ai-thumb {
width: 160rpx;
height: 160rpx;
background: var(--paper-2);
border-radius: var(--r-img);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.ai-thumb .ph {
width: 52%;
height: 52%;
color: var(--art);
}
.ai-thumb .pic {
width: 100%;
height: 100%;
}
.ai-chip-n {
margin-top: 14rpx;
font-size: 22rpx;
color: var(--ink-3);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ai-reroll-tip {
padding-bottom: 20rpx;
text-align: center;
font-size: 22rpx;
color: var(--ink-3);
}
/* 第二行说明:换一套后旧结果仍可在「AI 穿搭」找回 */
.ai-reroll-sub {
margin-top: -10rpx;
color: var(--ink-4);
}
/* 场景抽屉底部:进入 AI 穿搭管理页的文字入口 */
.sheet-more {
display: flex;
align-items: center;
justify-content: center;
gap: 8rpx;
padding-top: 30rpx;
font-size: 25rpx;
color: var(--ink-2);
transition: opacity .18s var(--ease);
}
.sheet-more:active {
opacity: .55;
}
.sheet-more .icon {
width: 24rpx;
height: 24rpx;
color: var(--ink-4);
}
.dock-row .btn {
flex: 1;
}
/* 场景抽屉 */
.scene-card {
position: relative;
margin: 0 var(--pad) 20rpx;
padding: 32rpx;
border-radius: var(--r-ctrl);
background: var(--fill);
transition: background .18s var(--ease);
}
.scene-card.is-on {
background: var(--paper);
box-shadow: inset 0 0 0 1rpx var(--ink);
}
.scene-name {
font-family: var(--serif);
font-size: 32rpx;
font-weight: 500;
}
.scene-desc {
margin-top: 10rpx;
font-size: 23rpx;
color: var(--ink-2);
}
.scene-check {
position: absolute;
top: 32rpx;
right: 32rpx;
width: 34rpx;
height: 34rpx;
color: var(--ink);
}
.scene-input {
margin: 0 var(--pad) 20rpx;
width: auto;
display: block;
}