|
|
@ -3,7 +3,7 @@ page { |
|
|
height: 100vh; |
|
|
height: 100vh; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); |
|
|
background: linear-gradient(180deg, #f8f8f8 0%, #f0f0f0 50%, #e8e8e8 100%); |
|
|
margin: 0; |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
padding: 0; |
|
|
} |
|
|
} |
|
|
@ -16,7 +16,7 @@ page { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
|
background-color: #f5f7fa; |
|
|
background-color: #f8f8f8; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 标题样式 */ |
|
|
/* 标题样式 */ |
|
|
@ -192,70 +192,53 @@ page { |
|
|
|
|
|
|
|
|
.category-scroll { |
|
|
.category-scroll { |
|
|
display: flex; |
|
|
display: flex; |
|
|
gap: 15rpx; |
|
|
gap: 16rpx; |
|
|
padding: 8rpx 15rpx; |
|
|
padding: 12rpx 16rpx; |
|
|
white-space: nowrap; |
|
|
white-space: nowrap; |
|
|
overflow-x: auto; |
|
|
overflow-x: auto; |
|
|
background-color: transparent; |
|
|
background: rgba(255, 255, 255, 0.5); |
|
|
border-radius: 10rpx; |
|
|
backdrop-filter: blur(10rpx); |
|
|
box-shadow: none; |
|
|
-webkit-backdrop-filter: blur(10rpx); |
|
|
|
|
|
border-radius: 40rpx; |
|
|
|
|
|
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08); |
|
|
|
|
|
border: 1rpx solid rgba(255, 255, 255, 0.5); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 蛋形样式 - 玻璃质感 */ |
|
|
|
|
|
.egg-item { |
|
|
.egg-item { |
|
|
position: relative; |
|
|
position: relative; |
|
|
width: 80rpx; |
|
|
padding: 16rpx 28rpx; |
|
|
height: 100rpx; |
|
|
background: rgba(255, 255, 255, 0.7); |
|
|
background-color: rgba(255, 255, 255, 0.3); |
|
|
backdrop-filter: blur(8rpx); |
|
|
backdrop-filter: blur(10rpx); |
|
|
-webkit-backdrop-filter: blur(8rpx); |
|
|
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; |
|
|
border-radius: 30rpx; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
transition: all 0.3s ease; |
|
|
transition: all 0.3s ease; |
|
|
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); |
|
|
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); |
|
|
border: 1rpx solid rgba(255, 255, 255, 0.5); |
|
|
border: 1rpx solid rgba(200, 200, 200, 0.5); |
|
|
flex-shrink: 0; |
|
|
flex-shrink: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 不同品种的颜色 */ |
|
|
|
|
|
.egg-item:nth-child(2) { /* 粉壳 */ |
|
|
|
|
|
background-color: rgba(255, 182, 193, 0.3); |
|
|
|
|
|
border-color: rgba(255, 182, 193, 0.7); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.egg-item:nth-child(3) { /* 红壳 */ |
|
|
|
|
|
background-color: rgba(255, 105, 180, 0.3); |
|
|
|
|
|
border-color: rgba(255, 105, 180, 0.7); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.egg-item:nth-child(4) { /* 绿壳 */ |
|
|
|
|
|
background-color: rgba(144, 238, 144, 0.3); |
|
|
|
|
|
border-color: rgba(144, 238, 144, 0.7); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.egg-item:nth-child(5) { /* 白壳 */ |
|
|
|
|
|
background-color: rgba(245, 245, 245, 0.5); |
|
|
|
|
|
border-color: rgba(245, 245, 245, 0.8); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.egg-item.active { |
|
|
.egg-item.active { |
|
|
background-color: rgba(22, 119, 255, 0.4); |
|
|
background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%); |
|
|
border-color: rgba(22, 119, 255, 0.8); |
|
|
color: white; |
|
|
box-shadow: 0 4rpx 16rpx rgba(22, 119, 255, 0.3); |
|
|
box-shadow: 0 4rpx 16rpx rgba(22, 119, 255, 0.35); |
|
|
transform: scale(1.05); |
|
|
border: 1rpx solid transparent; |
|
|
|
|
|
transform: translateY(-2rpx); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.egg-inner { |
|
|
.egg-inner { |
|
|
font-size: 22rpx; |
|
|
font-size: 26rpx; |
|
|
color: #333; |
|
|
color: #555; |
|
|
font-weight: bold; |
|
|
font-weight: 600; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
|
|
|
white-space: nowrap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.egg-item.active .egg-inner { |
|
|
.egg-item.active .egg-inner { |
|
|
color: #1677ff; |
|
|
color: #ffffff; |
|
|
font-size: 24rpx; |
|
|
font-size: 28rpx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 侧边栏按钮样式 - 白色半透明毛玻璃质感 */ |
|
|
/* 侧边栏按钮样式 - 白色半透明毛玻璃质感 */ |
|
|
@ -450,25 +433,105 @@ page { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-list-container { |
|
|
.goods-list-container { |
|
|
display: flex; |
|
|
padding: 20rpx 24rpx; |
|
|
flex-wrap: wrap; |
|
|
|
|
|
gap: 20rpx; |
|
|
|
|
|
justify-content: flex-start; |
|
|
|
|
|
padding-bottom: 20rpx; |
|
|
padding-bottom: 20rpx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.waterfall-container { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
gap: 32rpx; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.waterfall-column { |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
gap: 16rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.left-column { |
|
|
|
|
|
align-items: flex-start; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.right-column { |
|
|
|
|
|
align-items: flex-end; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.goods-item { |
|
|
.goods-item { |
|
|
width: calc((100% - 20rpx) / 2); |
|
|
width: 100%; |
|
|
background-color: #f9f9f9; |
|
|
border-radius: 24rpx; |
|
|
border-radius: 10rpx; |
|
|
|
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); |
|
|
transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); |
|
|
transition: all 0.3s ease; |
|
|
transform-style: preserve-3d; |
|
|
|
|
|
perspective: 1000rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-card { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
border-radius: 20rpx; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
background: rgba(255, 255, 255, 0.82); |
|
|
|
|
|
backdrop-filter: blur(10rpx); |
|
|
|
|
|
-webkit-backdrop-filter: blur(10rpx); |
|
|
|
|
|
box-shadow: |
|
|
|
|
|
0 6rpx 24rpx rgba(0, 0, 0, 0.15), |
|
|
|
|
|
0 0 0 1rpx rgba(0, 0, 0, 0.08), |
|
|
|
|
|
inset 0 0 0 1rpx rgba(255, 255, 255, 0.95); |
|
|
|
|
|
border: 2rpx solid rgba(200, 200, 200, 0.5); |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-item:hover { |
|
|
.goods-item:hover { |
|
|
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1); |
|
|
transform: translateY(-8rpx); |
|
|
transform: translateY(-2rpx); |
|
|
box-shadow: |
|
|
|
|
|
0 16rpx 40rpx rgba(0, 0, 0, 0.22), |
|
|
|
|
|
0 0 0 2rpx rgba(0, 0, 0, 0.12), |
|
|
|
|
|
inset 0 0 0 1rpx rgba(255, 255, 255, 1); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item:active { |
|
|
|
|
|
transform: translateY(-4rpx); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.long-card { |
|
|
|
|
|
margin-bottom: 24rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.long-card .goods-info { |
|
|
|
|
|
min-height: 200rpx; |
|
|
|
|
|
padding: 24rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.short-card { |
|
|
|
|
|
margin-bottom: 16rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.short-card .goods-info { |
|
|
|
|
|
min-height: 140rpx; |
|
|
|
|
|
padding: 16rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.short-card .goods-name { |
|
|
|
|
|
-webkit-line-clamp: 1; |
|
|
|
|
|
min-height: 40rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.short-card .goods-spec { |
|
|
|
|
|
margin-bottom: 8rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item.short-card .goods-price { |
|
|
|
|
|
font-size: 32rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.left-column .goods-item { |
|
|
|
|
|
transform: translateZ(10rpx); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.right-column .goods-item { |
|
|
|
|
|
transform: translateZ(-10rpx); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-image-container { |
|
|
.goods-image-container { |
|
|
@ -476,6 +539,7 @@ page { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
padding-bottom: 100%; |
|
|
padding-bottom: 100%; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
|
|
|
background: rgba(0, 0, 0, 0.05); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-image { |
|
|
.goods-image { |
|
|
@ -485,64 +549,159 @@ page { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
background-color: #eee; |
|
|
background-color: #eee; |
|
|
|
|
|
transition: all 0.4s ease; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-item:hover .goods-image { |
|
|
|
|
|
transform: scale(1.05); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-tag { |
|
|
.goods-tag { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 10rpx; |
|
|
top: 16rpx; |
|
|
left: 10rpx; |
|
|
left: 16rpx; |
|
|
background-color: rgba(255, 90, 90, 0.8); |
|
|
background: rgba(255, 90, 90, 0.85); |
|
|
|
|
|
backdrop-filter: blur(8rpx); |
|
|
color: white; |
|
|
color: white; |
|
|
font-size: 20rpx; |
|
|
font-size: 22rpx; |
|
|
padding: 5rpx 10rpx; |
|
|
padding: 8rpx 16rpx; |
|
|
border-radius: 15rpx; |
|
|
border-radius: 20rpx; |
|
|
font-weight: bold; |
|
|
font-weight: bold; |
|
|
|
|
|
box-shadow: 0 2rpx 8rpx rgba(255, 90, 90, 0.3); |
|
|
|
|
|
border: 1rpx solid rgba(255, 255, 255, 0.3); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-info { |
|
|
.goods-info { |
|
|
padding: 15rpx; |
|
|
padding: 20rpx; |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
background: rgba(255, 255, 255, 0.15); |
|
|
|
|
|
backdrop-filter: blur(10rpx); |
|
|
|
|
|
border-top: 1rpx solid rgba(255, 255, 255, 0.2); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-name { |
|
|
.goods-name { |
|
|
font-size: 26rpx; |
|
|
font-size: 28rpx; |
|
|
font-weight: bold; |
|
|
font-weight: bold; |
|
|
color: #333; |
|
|
color: #333; |
|
|
margin-bottom: 10rpx; |
|
|
margin-bottom: 12rpx; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
text-overflow: ellipsis; |
|
|
text-overflow: ellipsis; |
|
|
display: -webkit-box; |
|
|
display: -webkit-box; |
|
|
-webkit-line-clamp: 2; |
|
|
-webkit-line-clamp: 2; |
|
|
-webkit-box-orient: vertical; |
|
|
-webkit-box-orient: vertical; |
|
|
min-height: 60rpx; |
|
|
min-height: 60rpx; |
|
|
|
|
|
line-height: 1.4; |
|
|
|
|
|
text-shadow: 0 1rpx 2rpx rgba(255, 255, 255, 0.8); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-spec { |
|
|
.goods-spec { |
|
|
font-size: 22rpx; |
|
|
font-size: 24rpx; |
|
|
color: #999; |
|
|
color: #666; |
|
|
margin-bottom: 10rpx; |
|
|
margin-bottom: 12rpx; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
text-overflow: ellipsis; |
|
|
text-overflow: ellipsis; |
|
|
white-space: nowrap; |
|
|
white-space: nowrap; |
|
|
|
|
|
text-shadow: 0 1rpx 2rpx rgba(255, 255, 255, 0.8); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-price { |
|
|
.goods-price { |
|
|
font-size: 32rpx; |
|
|
font-size: 36rpx; |
|
|
font-weight: bold; |
|
|
font-weight: bold; |
|
|
color: #ff4d4f; |
|
|
color: #ff4d4f; |
|
|
margin-bottom: 10rpx; |
|
|
margin-bottom: 12rpx; |
|
|
|
|
|
text-shadow: 0 1rpx 2rpx rgba(255, 255, 255, 0.8); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-status-row { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-wrap: nowrap; |
|
|
|
|
|
gap: 8rpx; |
|
|
|
|
|
margin-bottom: 12rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag { |
|
|
|
|
|
font-size: 20rpx; |
|
|
|
|
|
padding: 4rpx 8rpx; |
|
|
|
|
|
border-radius: 4rpx; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
white-space: nowrap; |
|
|
|
|
|
flex-shrink: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.supply-spot { |
|
|
|
|
|
background: rgba(82, 196, 26, 0.15); |
|
|
|
|
|
color: #389e0d; |
|
|
|
|
|
border: 1rpx solid rgba(82, 196, 26, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.supply-presale { |
|
|
|
|
|
background: rgba(255, 154, 28, 0.15); |
|
|
|
|
|
color: #d46b08; |
|
|
|
|
|
border: 1rpx solid rgba(255, 154, 28, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.auth-verified { |
|
|
|
|
|
background: rgba(24, 144, 255, 0.15); |
|
|
|
|
|
color: #096dd9; |
|
|
|
|
|
border: 1rpx solid rgba(24, 144, 255, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.auth-unverified { |
|
|
|
|
|
background: rgba(140, 140, 140, 0.15); |
|
|
|
|
|
color: #595959; |
|
|
|
|
|
border: 1rpx solid rgba(140, 140, 140, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.negotiate-yes { |
|
|
|
|
|
background: rgba(114, 46, 209, 0.15); |
|
|
|
|
|
color: #722ed1; |
|
|
|
|
|
border: 1rpx solid rgba(114, 46, 209, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.source-yes { |
|
|
|
|
|
background: rgba(24, 144, 255, 0.15); |
|
|
|
|
|
color: #096dd9; |
|
|
|
|
|
border: 1rpx solid rgba(24, 144, 255, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.status-tag.negotiate-no { |
|
|
|
|
|
background: rgba(180, 180, 180, 0.15); |
|
|
|
|
|
color: #595959; |
|
|
|
|
|
border: 1rpx solid rgba(180, 180, 180, 0.5); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-footer { |
|
|
.goods-footer { |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
font-size: 20rpx; |
|
|
font-size: 22rpx; |
|
|
color: #999; |
|
|
color: #888; |
|
|
|
|
|
margin-top: auto; |
|
|
|
|
|
padding-top: 12rpx; |
|
|
|
|
|
border-top: 1rpx solid rgba(255, 255, 255, 0.2); |
|
|
|
|
|
text-shadow: 0 1rpx 2rpx rgba(255, 255, 255, 0.8); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.goods-region-bg { |
|
|
|
|
|
background: rgba(255, 255, 255, 0.95); |
|
|
|
|
|
backdrop-filter: blur(4rpx); |
|
|
|
|
|
-webkit-backdrop-filter: blur(4rpx); |
|
|
|
|
|
border-radius: 4rpx; |
|
|
|
|
|
padding: 4rpx 12rpx; |
|
|
|
|
|
border: 1.5rpx solid #1e3a6e; |
|
|
|
|
|
box-shadow: 0 1rpx 3rpx rgba(30, 58, 110, 0.08); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-region { |
|
|
.goods-region { |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
text-overflow: ellipsis; |
|
|
text-overflow: ellipsis; |
|
|
white-space: nowrap; |
|
|
white-space: nowrap; |
|
|
|
|
|
color: #1e3a6e; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
font-size: 23rpx; |
|
|
|
|
|
letter-spacing: 0.5rpx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.goods-reserved { |
|
|
.goods-reserved { |
|
|
|