/**index.less**/ page { height: 100vh; display: flex; flex-direction: column; background: #f5f6f7; } .scrollarea { flex: 1; overflow-y: hidden; } .container { position: relative; .slider-count { position: absolute; top: 678rpx; right: 0; background: rgba(0, 0, 0, 0.4); border-radius: 200rpx 0rpx 0rpx 200rpx; font-weight: 600; font-size: 28rpx; color: #ffffff; line-height: 40rpx; text-align: center; padding: 2rpx 20rpx 2rpx 28rpx; z-index: 1; } .bannerSwiper { height: 750rpx; .swiper-item { width: 100%; height: 100%; image { width: 100%; height: 100%; } } .swiper-video { display: flex; align-items: center; video { width: 100%; } wx-video .wx-video-top-bar>.wx-video-top-right-buttons { display: none; } .bg { filter: blur(32rpx); } image { position: absolute; top: 0; bottom: 0; } .icon-video { width: 92rpx; height: 92rpx; top: 50%; left: 50%; transform: translate(-50%, -50%); } } } } .goodsSection { background: #ffffff; .title { font-size: 28rpx; color: #333333; line-height: 40rpx; padding: 28rpx 24rpx; display: flex; align-items: center; justify-content: center; .before, .after { content: ""; width: 68rpx; height: 2rpx; border-radius: 2rpx; opacity: 0.3; display: inline-block; } .before { background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000000 100%); margin-right: 24rpx; } .after { background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, #000000 100%); margin-left: 24rpx; } } } .goodsIntro { background: #ffffff; overflow: hidden; .images { image { display: block; width: 100%; } } } .titleVideoSection { position: relative; margin: 24rpx 0; .icon-video { position: absolute; width: 92rpx !important; height: 92rpx !important; top: 50%; left: 50%; transform: translate(-50%, -50%); } wx-video .wx-video-top-bar>.wx-video-top-right-buttons { display: none; } .video-section { position: relative; width: 100%; image { box-shadow: 4rpx 8rpx 24rpx 1rpx rgba(96, 168, 223, 0.45); border-radius: 24rpx; } } } .title-section { background: #fff; overflow: hidden; .title { margin: 66rpx auto 20rpx; width: 162rpx !important; height: 88rpx; padding: 0; } .topSection { padding: 0 48rpx; .content1 { font-size: 28rpx; color: #131415; line-height: 48rpx; text-align: justify; } .content2 { font-size: 24rpx; color: #131415; line-height: 48rpx; text-align: center; } } .titleSwiper { position: relative; padding: 24rpx 0 40rpx; swiper { height: 472rpx; } .swiper-item-detail { height: 368rpx; padding: 0 48rpx; image { width: 100%; height: 100%; box-shadow: 4rpx 8rpx 24rpx 1rpx rgba(96, 168, 223, 0.45); border-radius: 24rpx; } .text { padding: 20rpx 0; font-size: 24rpx; color: #131415; line-height: 48rpx; text-align: center; } } .title-dot { display: flex; align-items: center; justify-content: center; .title-dot--item { width: 16rpx; height: 16rpx; border-radius: 50%; margin: 0 11rpx; background: #d1d1d1; } .title-dot--item-active { background: #78cafe; } } } } .bottom-section { position: fixed; bottom: 0; left: 0; z-index: 2; width: 100%; background-color: #ffffff; padding: 20rpx 32rpx 58rpx 32rpx; display: flex; align-items: center; box-sizing: border-box; .orders { display: flex; flex-direction: column; padding-right: 40rpx; image { width: 48rpx; height: 48rpx; } text { font-size: 24rpx; color: #777777; line-height: 34rpx; text-align: center; } } .btnSection { flex: 1 auto; position: relative; button { width: 100%; line-height: 88rpx; background: linear-gradient(90deg, #544f4a 0%, #302f2b 100%); border-radius: 44rpx; font-weight: 500; font-size: 32rpx; color: #fbeac9; padding-top: 0; padding-bottom: 0; &[disabled][type="primary"] { opacity: 0.7; } } } } .scroll-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 9; background-color: #fff; .product-catagory { border-top: 1px solid #f2f2f2; display: flex; align-items: center; justify-content: center; padding: 20rpx 0 28rpx; .item { position: relative; padding: 0 40rpx; font-size: 28rpx; color: #999999; line-height: 40rpx; } .selected { color: #131415; font-weight: 600; &::after { position: absolute; left: 50%; bottom: -8rpx; transform: translateX(-50%); content: ""; display: block; width: 34rpx; height: 4rpx; background: #534e49; } } } } // ==================== 购买弹窗样式 ==================== .popup-section { &.hidden { display: none; } .popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 9; } .popup-container { position: fixed; bottom: 0; left: 0; right: 0; z-index: 10; width: 100%; background: #ffffff; border-radius: 32rpx 32rpx 0 0; padding: 32rpx 32rpx 40rpx; box-sizing: border-box; } .iconClose { position: absolute; top: 24rpx; right: 24rpx; width: 44rpx; height: 44rpx; padding: 20rpx; box-sizing: content-box; z-index: 11; } } // 用户类型切换 tabs - 连在一起的整体样式 .user-type-tabs { display: flex; align-items: center; justify-content: center; margin-bottom: 32rpx; background: #f0f0f0; border-radius: 32rpx; padding: 4rpx; width: fit-content; margin-left: auto; margin-right: auto; .tab-item { padding: 16rpx 56rpx; font-size: 28rpx; color: #666666; border-radius: 28rpx; transition: all 0.3s; min-width: 120rpx; text-align: center; &.active { background: linear-gradient(90deg, #544f4a 0%, #302f2b 100%); color: #fbeac9; font-weight: 500; } } } // 商品信息卡片 .product-info-card { display: flex; background: #faf8f5; border-radius: 16rpx; padding: 24rpx; margin-bottom: 32rpx; .product-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-right: 24rpx; flex-shrink: 0; .duration-text { width: 88rpx; height: 88rpx; background: linear-gradient(135deg, #ff9a76 0%, #ff6b6b 100%); border-radius: 16rpx; display: flex; align-items: center; justify-content: center; font-size: 26rpx; color: #ffffff; font-weight: 600; } .user-label { font-size: 22rpx; color: #ff6b6b; background: rgba(255, 107, 107, 0.1); padding: 4rpx 16rpx; border-radius: 8rpx; margin-top: 8rpx; } } .product-detail { flex: 1; display: flex; flex-direction: column; .product-name { font-size: 28rpx; color: #333333; font-weight: 600; margin-bottom: 12rpx; line-height: 40rpx; } .price-line { display: flex; align-items: baseline; margin-bottom: 8rpx; .price-tag { font-size: 24rpx; color: #ff6b6b; margin-right: 8rpx; background: rgba(255, 107, 107, 0.1); padding: 2rpx 8rpx; border-radius: 4rpx; } .price-num { font-size: 36rpx; color: #333333; font-weight: 700; } } .origin-line { display: flex; align-items: center; font-size: 22rpx; color: #999999; .origin-tag { margin-right: 4rpx; } .origin-num { text-decoration: line-through; margin-right: 12rpx; } .divider { margin: 0 12rpx; color: #cccccc; } .sold-count { color: #999999; } } } } // 选择期限 .period-select-section { margin-bottom: 24rpx; .section-label { font-size: 28rpx; color: #333333; font-weight: 500; margin-bottom: 20rpx; } .period-options { display: flex; gap: 16rpx; .period-btn { flex: 1; height: 72rpx; display: flex; align-items: center; justify-content: center; background: #f5f5f5; border-radius: 12rpx; font-size: 26rpx; color: #666666; border: 2rpx solid transparent; transition: all 0.2s; &.active { background: #ffffff; border: 2rpx solid #333333; color: #333333; font-weight: 600; } } } } // 额外赠送 .gift-section { background: #f5f5f5; border-radius: 12rpx; padding: 20rpx 24rpx; margin-bottom: 32rpx; .gift-desc { font-size: 26rpx; color: #666666; } } // 底部结算栏 .settlement-bar { .select-summary { display: flex; align-items: center; font-size: 24rpx; color: #666666; margin-bottom: 20rpx; padding: 0 8rpx; .summary-label { color: #999999; margin-right: 8rpx; } .summary-content { color: #333333; } .summary-save { color: #ff6b6b; margin-left: 4rpx; } } .submit-btn { width: 100%; height: 88rpx; line-height: 88rpx; background: linear-gradient(90deg, #544f4a 0%, #302f2b 100%); border-radius: 44rpx; font-size: 32rpx; color: #fbeac9; font-weight: 500; text-align: center; border: none; margin: 0; padding: 0; } }