Files
JianSu-Naming/miniprogram/pages/index/index.wxss
2026-04-16 11:25:29 +08:00

311 lines
5.3 KiB
Plaintext

page {
background-color: #FFFFFF;
height: 100%;
}
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
}
.card-stack {
position: relative;
width: 70vw;
height: 100vw;
z-index: 1;
}
.card-container {
position: absolute;
width: 100%;
height: 100%;
}
.card {
width: 100%;
height: 100%;
position: relative;
box-shadow: 0 20px 60px rgba(0,0,0,0.04);
border: 1px solid #F0F0F0;
border-radius: 8rpx;
background: white;
transform-style: preserve-3d;
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-face {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 60rpx;
box-sizing: border-box;
border-radius: 8rpx;
}
.front {
transform: rotateY(0deg);
}
.back {
transform: rotateY(180deg);
}
.card.flipped .front {
transform: rotateY(-180deg);
}
.card.flipped .back {
transform: rotateY(0deg);
}
.front .name {
font-family: "Noto Serif SC", "Source Han Serif SC", "PingFang SC", serif;
font-size: 140rpx;
color: #2D2D2D;
margin-bottom: 60rpx;
font-weight: 300;
letter-spacing: 10rpx;
text-align: center;
}
.poem-container {
height: 350rpx;
display: flex;
align-items: center;
justify-content: center;
}
.front .poem {
font-size: 26rpx;
color: #A0A0A0;
letter-spacing: 12rpx;
writing-mode: vertical-rl;
line-height: 1.5;
text-align: center;
}
.back {
transform: rotateY(180deg);
display: flex;
flex-direction: column;
justify-content: space-between !important;
padding: 80rpx 60rpx !important;
}
.desc-container {
flex: 1;
display: flex;
align-items: center;
}
.back .desc {
font-size: 28rpx;
color: #4A4A4A;
line-height: 2.2;
text-align: justify;
letter-spacing: 2rpx;
}
.analysis-container {
margin-top: 40rpx;
display: flex;
flex-direction: column;
align-items: flex-end;
border-top: 1rpx solid #F0F0F0;
padding-top: 30rpx;
}
.tone-tag, .score-tag {
font-size: 18rpx;
color: #D0D0D0;
letter-spacing: 2rpx;
margin-bottom: 10rpx;
}
.save-btn {
margin-top: 20rpx;
display: flex;
align-items: center;
font-size: 16rpx;
color: #A0A0A0;
border: 1rpx solid #F0F0F0;
padding: 8rpx 20rpx;
border-radius: 40rpx;
letter-spacing: 2rpx;
transition: all 0.2s;
}
.save-btn:active {
background: #FAFAFA;
transform: scale(0.95);
}
.save-icon {
margin-right: 8rpx;
font-size: 14rpx;
}
/* 退出动画 */
.card-exit-left {
transform: translate3d(-150%, 0, 0) rotate(-20deg) !important;
opacity: 0 !important;
transition: all 0.5s ease-in !important;
}
.card-exit-right {
transform: translate3d(150%, 0, 0) rotate(20deg) !important;
opacity: 0 !important;
transition: all 0.5s ease-in !important;
}
.footer {
margin-top: 100rpx;
}
.hint {
font-size: 22rpx;
color: #D0D0D0;
letter-spacing: 4rpx;
}
/* 收藏锦囊 */
.collection-bag {
position: fixed;
right: 60rpx;
bottom: 120rpx;
width: 100rpx;
height: 100rpx;
background-color: #FFFFFF;
border-radius: 50%;
box-shadow: 0 10rpx 40rpx rgba(0,0,0,0.08);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 10;
transition: transform 0.2s;
}
.collection-bag:active {
transform: scale(0.9);
}
.bag-icon {
font-family: "Noto Serif SC", serif;
font-size: 40rpx;
color: #4A4A4A;
}
.collection-count {
position: absolute;
top: 0;
right: 0;
background-color: #B22222;
color: white;
font-size: 18rpx;
border-radius: 50%;
padding: 4rpx 10rpx;
min-width: 18rpx;
text-align: center;
}
/* 收藏列表 */
.collection-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.5);
backdrop-filter: blur(20px);
z-index: 20;
opacity: 0;
visibility: hidden;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.collection-overlay.visible {
opacity: 1;
visibility: visible;
}
.collection-content {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 60vh;
background-color: rgba(255, 255, 255, 0.8);
border-top-left-radius: 40rpx;
border-top-right-radius: 40rpx;
box-shadow: 0 -10rpx 60rpx rgba(0,0,0,0.05);
transform: translateY(100%);
transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.collection-overlay.visible .collection-content {
transform: translateY(0);
}
.collection-title {
text-align: center;
padding: 40rpx 0;
font-size: 24rpx;
color: #A0A0A0;
letter-spacing: 4rpx;
border-bottom: 1rpx solid #F0F0F0;
}
.collection-scroll {
height: calc(100% - 110rpx);
}
.collection-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx 60rpx;
border-bottom: 1rpx solid #F0F0F0;
}
.item-name {
font-family: "Noto Serif SC", serif;
font-size: 32rpx;
color: #2D2D2D;
margin-bottom: 4rpx;
}
.item-origin {
font-size: 20rpx;
color: #A0A0A0;
font-weight: 200;
}
.delete-btn {
font-size: 40rpx;
color: #E0E0E0;
font-weight: 200;
padding: 10rpx 20rpx;
border-radius: 50%;
transition: all 0.2s;
}
.delete-btn:active {
background-color: #F0F0F0;
color: #B22222;
}
.collection-empty {
text-align: center;
padding: 100rpx;
font-size: 24rpx;
color: #E0E0E0;
}