You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

285 lines
4.5 KiB

.container {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f5f5f5;
font-family: 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
}
.header {
padding: 30rpx 0;
text-align: center;
background-color: #fff;
border-bottom: 1rpx solid #eee;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.05);
}
.title {
font-size: 36rpx;
font-weight: bold;
color: #333;
letter-spacing: 2rpx;
}
.content {
flex: 1;
padding: 20rpx;
}
.product-info {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
margin-bottom: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.08);
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20rpx;
}
.back-button {
width: 100%;
height: 70rpx;
line-height: 70rpx;
font-size: 28rpx;
border-radius: 35rpx;
margin-top: 10rpx;
}
.product-label {
font-size: 28rpx;
color: #666;
margin-right: 20rpx;
}
.product-value {
font-size: 32rpx;
font-weight: bold;
color: #FF6B81;
flex: 1;
}
.loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 100rpx 0;
color: #666;
}
.loading-spinner {
width: 60rpx;
height: 60rpx;
border: 6rpx solid #f3f3f3;
border-top: 6rpx solid #FF6B81;
border-radius: 50%;
animation: spin 1s linear infinite;
margin-bottom: 20rpx;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.error {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 40rpx;
background-color: #fff;
border-radius: 12rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.05);
}
.error-icon {
font-size: 60rpx;
margin-bottom: 20rpx;
}
.error text {
display: block;
color: #ff4d4f;
margin-bottom: 30rpx;
font-size: 28rpx;
text-align: center;
}
.retry-button {
width: 200rpx;
height: 70rpx;
line-height: 70rpx;
font-size: 28rpx;
border-radius: 35rpx;
background-color: #FF6B81;
color: #fff;
}
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.section-title {
font-size: 30rpx;
font-weight: bold;
color: #333;
padding-left: 15rpx;
border-left: 5rpx solid #FF6B81;
}
.section-count {
font-size: 24rpx;
color: #999;
background-color: #f5f5f5;
padding: 5rpx 15rpx;
border-radius: 20rpx;
}
.product-list,
.spec-list {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
margin-bottom: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.08);
}
.product-items,
.spec-items {
display: flex;
flex-direction: column;
gap: 15rpx;
}
.product-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx;
border-radius: 10rpx;
background-color: #f9f9f9;
border: 1rpx solid #eee;
transition: all 0.3s ease;
cursor: pointer;
}
.spec-item {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 30rpx;
border-radius: 10rpx;
background-color: #f9f9f9;
border: 1rpx solid #eee;
transition: all 0.3s ease;
cursor: pointer;
flex-direction: column;
gap: 15rpx;
}
.spec-info {
flex: 1;
}
.spec-price-arrow {
display: flex;
justify-content: flex-end;
align-items: center;
gap: 10rpx;
width: 100%;
}
.product-item:hover,
.spec-item:hover {
background-color: #f0f0f0;
transform: translateY(-2rpx);
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.1);
}
.product-item.selected {
background-color: #FFE6E6;
border-color: #FF6B81;
color: #FF6B81;
}
.product-name,
.spec-name {
font-size: 28rpx;
color: #333;
flex: 1;
}
.spec-price {
font-size: 28rpx;
font-weight: bold;
color: #FF6B81;
margin-right: 20rpx;
}
.product-item.selected .product-name {
color: #FF6B81;
font-weight: bold;
}
.product-arrow,
.spec-arrow {
font-size: 30rpx;
color: #999;
margin-left: 20rpx;
}
.product-item.selected .product-arrow {
color: #FF6B81;
}
.hint {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 100rpx 0;
color: #999;
font-size: 28rpx;
}
.hint-icon {
font-size: 80rpx;
margin-bottom: 30rpx;
}
/* 响应式设计 */
@media (max-width: 375px) {
.content {
padding: 15rpx;
}
.product-list,
.spec-list {
padding: 20rpx;
}
.product-item,
.spec-item {
padding: 20rpx;
}
.title {
font-size: 32rpx;
}
.section-title {
font-size: 26rpx;
}
.product-name,
.spec-name {
font-size: 26rpx;
}
}