Files
ai_dianshang/miniprogram/pages/goods/details/index.wxss
2025-11-17 14:11:46 +08:00

811 lines
16 KiB
Plaintext

@import '../../../style/global.wxss';
page {
width: 100%;
background-color: #f5f5f5;
overflow-x: hidden;
}
.goods-detail-page {
width: 100%;
max-width: 100%;
overflow-x: hidden;
box-sizing: border-box;
}
.goods-detail-page .goods-head {
background-color: #fff;
border-radius: 0 0 24rpx 24rpx;
overflow: hidden;
margin-bottom: 20rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
}
.goods-detail-page .goods-info {
margin: 0 auto;
padding: 26rpx 30rpx 28rpx 30rpx;
background-color: transparent;
box-sizing: border-box;
}
.goods-detail-page .swipe-img {
width: 100%;
height: 750rpx;
border-radius: 0 0 24rpx 24rpx;
}
/* 商品详情页面整体样式优化 */
.goods-detail-page {
background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
min-height: 100vh;
}
/* 轮播图区域优化 */
.goods-detail-page .goods-head {
position: relative;
background: #fff;
border-radius: 0 0 32rpx 32rpx;
overflow: hidden;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.08);
}
.goods-detail-page .goods-head .goods-swipe {
position: relative;
}
.goods-detail-page .goods-head .goods-swipe .goods-swipe-img {
width: 100%;
height: 750rpx;
object-fit: cover;
transition: transform 0.3s ease;
}
.goods-detail-page .goods-head .goods-swipe .goods-swipe-img:active {
transform: scale(0.98);
}
/* 分享按钮优化 */
.goods-detail-page .goods-head .share-btn {
position: absolute;
top: 40rpx;
right: 30rpx;
width: 80rpx;
height: 80rpx;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10rpx);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
z-index: 10;
}
.goods-detail-page .goods-head .share-btn:active {
transform: scale(0.9);
background: rgba(255, 255, 255, 1);
}
/* 商品信息区域优化 */
.goods-detail-page .goods-info {
background: #fff;
margin: 20rpx 30rpx;
padding: 32rpx;
border-radius: 24rpx;
box-shadow: 0 4rpx 24rpx rgba(0, 0, 0, 0.06);
border: 1rpx solid #f0f0f0;
}
/* 价格显示优化 */
.goods-detail-page .goods-info .goods-price {
display: flex;
align-items: baseline;
margin-bottom: 24rpx;
padding: 20rpx 0;
border-bottom: 1rpx solid #f5f5f5;
}
.goods-detail-page .goods-info .goods-price .class-goods-price {
font-size: 48rpx;
color: #fa4126;
font-weight: 700;
margin-right: 16rpx;
}
.goods-detail-page .goods-info .goods-price .class-goods-del {
position: relative;
font-weight: normal;
color: #999999;
font-size: 28rpx;
text-decoration: line-through;
}
/* 销量信息优化 */
.goods-detail-page .goods-info .goods-number {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 24rpx;
}
.goods-detail-page .goods-info .goods-number .sold-num {
font-size: 26rpx;
color: #666666;
display: flex;
align-items: center;
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
padding: 12rpx 20rpx;
border-radius: 24rpx;
border: 1rpx solid #e9ecef;
}
/* 销量与分享同一行展示 */
.goods-detail-page .goods-info .sales-share-row {
display: flex;
align-items: center;
flex-wrap: nowrap;
gap: 16rpx;
}
.goods-detail-page .goods-info .sales-share-row .share-btn-small {
display: flex;
align-items: center;
gap: 8rpx;
background: transparent;
border: none;
padding: 0;
color: #666666;
font-size: 26rpx;
}
.goods-detail-page .goods-info .sales-share-row .share-btn-small::after {
border: none;
}
/* 促销活动区域优化 */
.goods-detail-page .goods-info .goods-activity {
display: flex;
margin: 24rpx 0;
justify-content: space-between;
align-items: center;
background: linear-gradient(135deg, #fff5f5 0%, #ffeaea 100%);
padding: 20rpx 24rpx;
border-radius: 20rpx;
border: 1rpx solid #ffe5e5;
position: relative;
overflow: hidden;
}
.goods-detail-page .goods-info .goods-activity::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4rpx;
height: 100%;
background: linear-gradient(180deg, #fa4126 0%, #ff6b4a 100%);
}
.goods-detail-page .goods-info .goods-activity .tags-container {
display: flex;
flex-wrap: wrap;
gap: 12rpx;
flex: 1;
}
.goods-detail-page .goods-info .goods-activity .tags-container .goods-activity-tag {
background: linear-gradient(135deg, #fa4126 0%, #ff6b4a 100%);
color: #fff;
font-size: 22rpx;
font-weight: 600;
padding: 10rpx 18rpx;
border-radius: 24rpx;
box-shadow: 0 4rpx 12rpx rgba(250, 65, 38, 0.3);
transition: all 0.3s ease;
}
.goods-detail-page .goods-info .goods-activity .tags-container .goods-activity-tag:active {
transform: scale(0.95);
}
/* 商品标题优化 */
.goods-detail-page .goods-info .goods-title {
margin-top: 24rpx;
}
.goods-detail-page .goods-info .goods-title .goods-name {
font-size: 34rpx;
font-weight: 600;
color: #333333;
line-height: 1.5;
margin-bottom: 24rpx;
letter-spacing: 0.5rpx;
}
/* 规格选择区域优化 */
.spu-select {
background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
margin: 24rpx 30rpx;
display: flex;
align-items: center;
padding: 28rpx 32rpx;
font-size: 28rpx;
border-radius: 20rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
border: 1rpx solid #f0f0f0;
transition: all 0.3s ease;
position: relative;
}
.spu-select::after {
content: '';
position: absolute;
right: 24rpx;
top: 50%;
transform: translateY(-50%);
width: 16rpx;
height: 16rpx;
border-right: 2rpx solid #999;
border-bottom: 2rpx solid #999;
transform: translateY(-50%) rotate(45deg);
}
.spu-select:active {
transform: scale(0.98);
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.12);
}
.spu-select .label {
margin-right: 32rpx;
text-align: center;
flex-shrink: 0;
color: #666666;
font-weight: 600;
font-size: 28rpx;
}
.spu-select .content {
flex: 1;
color: #333333;
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* 评论区域优化 */
.goods-comment-wrap {
background: #fff;
margin: 24rpx 30rpx;
border-radius: 20rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
overflow: hidden;
}
.goods-comment-wrap .goods-comment-head {
padding: 32rpx;
border-bottom: 1rpx solid #f5f5f5;
background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
}
.goods-comment-wrap .goods-comment-head .goods-comment-title {
font-size: 32rpx;
font-weight: 600;
color: #333333;
margin-bottom: 16rpx;
}
.goods-comment-wrap .goods-comment-head .goods-comment-info {
display: flex;
align-items: center;
gap: 24rpx;
}
.goods-comment-wrap .goods-comment-head .goods-comment-info .rating-info {
display: flex;
align-items: center;
gap: 8rpx;
}
.goods-comment-wrap .goods-comment-head .goods-comment-info .rating-score {
font-size: 28rpx;
font-weight: 600;
color: #fa4126;
}
.goods-comment-wrap .goods-comment-head .goods-comment-info .rating-count {
font-size: 24rpx;
color: #999999;
}
/* 评论列表优化 */
.goods-comment-wrap .goods-comment-list {
padding: 0 32rpx 32rpx;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item {
padding: 24rpx 0;
border-bottom: 1rpx solid #f8f9fa;
transition: all 0.3s ease;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item:last-child {
border-bottom: none;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item:active {
background: #fafbfc;
margin: 0 -32rpx;
padding: 24rpx 32rpx;
border-radius: 12rpx;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-user {
display: flex;
align-items: center;
margin-bottom: 16rpx;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-user .user-avatar {
width: 64rpx;
height: 64rpx;
border-radius: 50%;
margin-right: 16rpx;
border: 2rpx solid #f0f0f0;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-user .user-info {
flex: 1;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-user .user-name {
font-size: 28rpx;
font-weight: 500;
color: #333333;
margin-bottom: 4rpx;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-user .comment-time {
font-size: 22rpx;
color: #999999;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-content {
font-size: 28rpx;
color: #666666;
line-height: 1.6;
margin-bottom: 16rpx;
}
.goods-comment-wrap .goods-comment-list .goods-comment-item .comment-rating {
display: flex;
align-items: center;
gap: 8rpx;
}
/* 商品详情介绍区域优化 */
.goods-detail-container {
background: #fff;
margin: 24rpx 30rpx;
border-radius: 20rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
overflow: hidden;
}
.goods-detail-container .goods-detail-title {
padding: 32rpx;
background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
border-bottom: 1rpx solid #f5f5f5;
font-size: 32rpx;
font-weight: 600;
color: #333333;
text-align: center;
}
.goods-detail-container .goods-detail-content {
padding: 32rpx;
}
.goods-detail-container .goods-detail-content .detail-image {
width: 100%;
border-radius: 12rpx;
margin-bottom: 24rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
}
/* 底部购买栏优化 */
.goods-bottom-operation {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 20%, #ffffff 100%);
backdrop-filter: blur(20rpx);
padding: 20rpx 30rpx 40rpx;
box-shadow: 0 -4rpx 24rpx rgba(0, 0, 0, 0.08);
z-index: 100;
}
/* 响应式优化 */
@media (max-width: 375px) {
.goods-detail-page .goods-info .goods-price .class-goods-price {
font-size: 44rpx;
}
.goods-detail-page .goods-info .goods-title .goods-name {
font-size: 32rpx;
}
}
/* 加载动画 */
.loading-animation {
display: flex;
justify-content: center;
align-items: center;
padding: 60rpx;
}
.loading-spinner {
width: 60rpx;
height: 60rpx;
border: 4rpx solid #f0f0f0;
border-top: 4rpx solid #fa4126;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* 空状态样式 */
.empty-state {
display: flex;
flex-direction: column;
align-items: center;
padding: 80rpx 40rpx;
color: #999999;
}
.empty-state .empty-icon {
font-size: 120rpx;
margin-bottom: 24rpx;
opacity: 0.5;
}
.empty-state .empty-text {
font-size: 28rpx;
text-align: center;
line-height: 1.5;
}
.popup-sku-header .popup-sku-header__goods-info .popup-sku__price {
display: flex;
align-items: baseline;
color: #fa4126;
margin-top: 48rpx;
}
.popup-sku-header .popup-sku-header__goods-info .popup-sku__price .popup-sku__price-num {
font-size: 64rpx;
color: #fa4126;
font-weight: bold;
font-family: DIN Alternate;
}
.popup-sku-header .popup-sku-header__goods-info .popup-sku__price .popup-sku__price-del {
position: relative;
font-weight: normal;
left: 12rpx;
bottom: 2rpx;
color: #999999;
font-size: 32rpx;
}
.popup-sku-header .popup-sku-header__goods-info .popup-sku__price .popup-sku__price-symbol {
font-size: 36rpx;
color: #fa4126;
}
.popup-sku-header .popup-sku-header__goods-info .popup-sku__price .popup-sku__price-max-num {
font-size: 48rpx;
}
.goods-detail-page .goods-head {
--td-swiper-radius: 0;
}
.t-toast__content {
z-index: 12000 !important;
}
/* 评论入口样式 */
.comments-entry {
margin: 20rpx 30rpx 0 30rpx;
background-color: #fff;
border-radius: 16rpx;
box-shadow: 0 2rpx 16rpx rgba(0, 0, 0, 0.06);
border: 1rpx solid #f0f0f0;
overflow: hidden;
}
.comments-entry-content {
display: flex;
align-items: center;
justify-content: space-between;
padding: 32rpx 28rpx;
transition: background-color 0.2s ease;
}
.comments-entry:active .comments-entry-content {
background-color: #f8f8f8;
}
.comments-entry-left {
flex: 1;
}
.comments-title {
display: flex;
align-items: baseline;
margin-bottom: 8rpx;
}
.comments-title-label {
color: #222222;
font-size: 30rpx;
font-weight: 600;
line-height: 1;
}
.comments-title-count {
color: #666666;
font-size: 26rpx;
font-weight: 400;
line-height: 1;
margin-left: 8rpx;
}
.comments-summary {
display: flex;
align-items: center;
gap: 16rpx;
}
.good-rate {
color: #fa4126;
font-size: 24rpx;
font-weight: 500;
background: #fff5f5;
padding: 4rpx 12rpx;
border-radius: 12rpx;
border: 1rpx solid #ffe5e5;
}
.view-all {
color: #666666;
font-size: 24rpx;
font-weight: 400;
}
.no-comments {
color: #999999;
font-size: 24rpx;
font-weight: 400;
}
.comments-entry-right {
margin-left: 20rpx;
}
/* 商品详细介绍样式优化 */
.desc-content {
background: #fff;
margin: 24rpx 30rpx;
border-radius: 24rpx;
box-shadow: 0 4rpx 24rpx rgba(0, 0, 0, 0.06);
overflow: hidden;
border: 1rpx solid #f0f0f0;
}
.desc-content__title {
display: flex;
align-items: center;
justify-content: center;
gap: 16rpx;
padding: 32rpx;
background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
border-bottom: 1rpx solid #f5f5f5;
position: relative;
}
.desc-content__title::before {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60rpx;
height: 4rpx;
background: linear-gradient(135deg, #fa4126 0%, #ff6b4a 100%);
border-radius: 2rpx;
}
.desc-content__title--text {
font-size: 32rpx;
font-weight: 600;
color: #333333;
letter-spacing: 1rpx;
}
.desc-content__title .img {
width: 32rpx;
height: 32rpx;
opacity: 0.6;
}
/* 基本信息样式 */
.desc-basic-info {
padding: 32rpx;
background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
border-bottom: 1rpx solid #f5f5f5;
}
.desc-info-item {
display: flex;
align-items: center;
margin-bottom: 16rpx;
padding: 16rpx 20rpx;
background: #fff;
border-radius: 12rpx;
border: 1rpx solid #f0f0f0;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
}
.desc-info-item:last-child {
margin-bottom: 0;
}
.desc-info-label {
font-size: 28rpx;
color: #666666;
font-weight: 500;
min-width: 80rpx;
}
.desc-info-value {
font-size: 28rpx;
color: #333333;
font-weight: 600;
flex: 1;
}
/* 文本内容样式 */
.desc-content__text,
.desc-details {
padding: 32rpx;
border-bottom: 1rpx solid #f5f5f5;
}
.desc-text-title {
font-size: 30rpx;
font-weight: 600;
color: #333333;
margin-bottom: 20rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #fa4126;
display: inline-block;
position: relative;
}
.desc-text-title::after {
content: '';
position: absolute;
bottom: -2rpx;
left: 0;
width: 100%;
height: 2rpx;
background: linear-gradient(135deg, #fa4126 0%, #ff6b4a 100%);
border-radius: 1rpx;
}
.desc-text-content {
font-size: 28rpx;
color: #666666;
line-height: 1.8;
text-align: justify;
background: #fafbfc;
padding: 24rpx;
border-radius: 12rpx;
border: 1rpx solid #f0f0f0;
margin-top: 16rpx;
}
/* 图片展示样式 */
.desc-images {
padding: 32rpx;
}
.desc-image-container {
margin-bottom: 24rpx;
border-radius: 16rpx;
overflow: hidden;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
position: relative;
}
.desc-image-container:last-child {
margin-bottom: 0;
}
.desc-image-container:active {
transform: scale(0.98);
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.12);
}
.desc-image-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(250, 65, 38, 0.1) 0%, rgba(255, 107, 74, 0.1) 100%);
opacity: 0;
transition: opacity 0.3s ease;
z-index: 1;
pointer-events: none;
}
.desc-image-container:active::before {
opacity: 1;
}
.desc-content__img {
width: 100%;
display: block;
border-radius: 16rpx;
transition: all 0.3s ease;
}
/* 空状态样式 */
.desc-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80rpx 32rpx;
background: linear-gradient(135deg, #fafbfc 0%, #f8f9fa 100%);
}
.desc-empty-text {
font-size: 28rpx;
color: #999999;
margin-top: 16rpx;
font-weight: 400;
}
/* 响应式优化 */
@media (max-width: 375px) {
.desc-content {
margin: 20rpx 24rpx;
}
.desc-content__title {
padding: 28rpx 24rpx;
}
.desc-basic-info,
.desc-content__text,
.desc-details,
.desc-images {
padding: 28rpx 24rpx;
}
.desc-content__title--text {
font-size: 30rpx;
}
}