view, label, swiper-item, scroll-view { display:flex; flex-direction:column; flex-shrink: 0; flex-grow: 0; flex-basis: auto; align-items: stretch; align-content: flex-start; } view, image, input, scroll-view, swiper, swiper-item, text, textarea, video { position: relative; border: 0px solid #000000; box-sizing: border-box; } swiper-item { position: absolute; } button { margin: 0; } .detail-page { padding-bottom: 120rpx; } /* 主图区域 */ .main-image-section { position: relative; width: 750rpx; height: 750rpx; background-color: #999; } .banner-swiper { width: 750rpx; height: 750rpx; } .banner-image { width: 750rpx; height: 750rpx; } .banner-tag { font-size: 20rpx; font-weight: 500; color: #FFFFFF; padding: 6rpx 12rpx; background-color: rgba(0, 0, 0, 0.4); position: absolute; border-radius: 20rpx; right: 26rpx; bottom: 28rpx; } /* 服务信息 */ .user-choice, .comments-section, .notice-section { background-color: #fff; padding: 24rpx; box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.05); margin: 0 24rpx 24rpx; border-radius: 16rpx; } .service-header-price { margin: 20rpx 24rpx 0 24rpx; width: 702rpx; height: 97rpx; position: relative; } .service-header-price .service-header-price-bj { width: 702rpx; height: 97rpx; position: absolute; left: 0; top: 0; } .service-info { margin: 0rpx 24rpx 0rpx 24rpx; background-color: #fff; box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.05); padding-top: 10rpx; padding-bottom: 14rpx; border-radius: 16rpx 0rpx 16rpx 16rpx; -webkit-transform: translateY(-16rpx); transform: translateY(-16rpx); } .service-price { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: flex-end; padding-top: 10rpx; padding-left: 24rpx; } .service-price .price-symbol { font-family: DINPro, DINPro; font-weight: bold; font-size: 24rpx; color: #ffffff; line-height: 31rpx; text-align: left; font-style: normal; margin-right: 6rpx; -webkit-transform: translateY(-6rpx); transform: translateY(-6rpx); } .service-price .price-value { font-family: DINPro, DINPro; font-weight: 500; font-size: 48rpx; color: #ffffff; line-height: 61rpx; text-align: left; font-style: normal; } .service-price .price-discount { margin-left: 16rpx; font-weight: 500; font-size: 24rpx; color: #ffffff; line-height: 33rpx; text-align: left; font-style: normal; text-decoration: line-through; } .service-shop { margin: 0rpx 24rpx 24rpx 24rpx; background-color: #fff; box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.05); padding-top: 24rpx; /* padding-bottom: 5rpx; */ border-radius: 16rpx; } .shop-info { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: flex-start; padding-bottom: 16rpx; border-bottom: 1rpx solid rgba(0, 0, 0, 0.05); } .shop-logo { width: 112rpx; height: 136rpx; background-color: #f5f5f5; margin-right: 20rpx; border-radius: 8rpx; } .shop-info-you { flex: 1; display: flex; flex-flow: column wrap; justify-content: flex-start; align-items: flex-start; } .shop-name { width: 100%; font-size: 28rpx; color: #3D3D3D; margin-bottom: 10rpx; font-weight: 500; } .shop-class-w { width: 100%; margin-bottom: 8rpx; } .shop-class { font-size: 24rpx; color: #666666; } .shop-time { width: 100%; } .shop-cont { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: flex-start; padding-top: 16rpx; } .shop-cont-left { flex: 1; display: flex; flex-flow: column wrap; justify-content: flex-start; align-items: flex-start; } .shop-address, .shop-tell { font-size: 24rpx; color: #333333; margin-bottom: 8rpx; line-height: 1.4; } .shop-cont-right { display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; margin-left: 20rpx; } .shop-headle { width: 40rpx; height: 40rpx; margin-left: 20rpx; } .service-title { padding: 0 24rpx; display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: baseline; } .service-type { font-size: 26rpx; color: #FFFFFF; background-color: #e8101e; padding: 2rpx 10rpx; border-radius: 7rpx; margin-right: 12rpx; -webkit-transform: translateY(-4rpx); transform: translateY(-4rpx); /* line-height: 1; 确保行高一致 */ /* height: 36rpx; 固定高度 */ /* display: flex; */ /* align-items: center; 文字垂直居中 */ /* justify-content: center; 文字水平居中 */ /* flex-shrink: 0; 防止标签被压缩 */ } .title-text { flex: 1; font-size: 36rpx; color: #333333; font-weight: 500; } .service-tabs { display: flex; } .tab-item { height: 24rpx; line-height: 24rpx; font-size: 16rpx; color: #999999; background-color: #FFF2F2; padding: 0 8rpx; border-radius: 8rpx; } /* 到家地址以及可预约时间 */ .choice-item { height: 90rpx; display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: center; } .choice-tit { font-size: 24rpx; color: #999999; margin-right: 16rpx; } .choice-cont { flex: 1; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; } .address-left { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: center; } .choice-text { font-size: 24rpx; color: #666666; } .address-icon { width: 24rpx; height: 24rpx; margin-right: 8rpx; } .enter-icon { width: 24rpx; height: 24rpx; margin-left: 8rpx; } /* 手艺人区域 */ .service-syr { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; margin: 0 24rpx 24rpx; background-color: #fff; box-shadow: rgba(0, 0, 0, 0.05); padding: 24rpx; } .syr-head { width: 104rpx; height: 104rpx; border-radius: 54rpx; margin-right: 10rpx; } .syr-info { flex: 1; } .syr-name { font-size: 28rpx; color: #3D3D3D; } .look-btn { margin: 27rpx; width: 130rpx; height: 56rpx; border: 1rpx solid #E8101E; display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; border-radius: 28rpx; } .look-text { font-size: 28rpx; color: #E8101E; } /* 评论区域 */ .section-title { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; } .section-num { font-size: 28rpx; font-weight: 500; color: #3D3D3D; } .look-all { display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; } .look { font-size: 24rpx; color: #666666; } .comment-item { padding: 24rpx 0; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; } .comment-item:last-child { padding-bottom: 0rpx; } .comment-header { display: flex; align-items: center; margin-bottom: 14rpx; } .user-avatar { width: 64rpx; height: 64rpx; border-radius: 32rpx; margin-right: 14rpx; background-color: #000; } .comment-user-info { flex: 1; } .user-name { font-size: 28rpx; color: #3D3D3D; margin-bottom: 10rpx; } .comment-tab { font-size: 16rpx; padding: 0 8rpx; border-radius: 12rpx; color: #E8101E; background-color: rgba(255, 148, 180, 0.5); margin-right: 8rpx; } .comment-type { font-size: 20rpx; color: #999999; } .comment-content { font-size: 22rpx; color: #333333; line-height: 1.5; } .comment-images { width: 154rpx; height: 154rpx; background-color: #000; margin-left: 56rpx; } .comment-image { width: 160rpx; height: 160rpx; border-radius: 8rpx; } /* 购买须知 */ .section-tit { font-size: 28rpx; font-weight: 500; color: #3D3D3D; } .section-tit-right { display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; } .rule-text { font-size: 28rpx; color: #D10F13; } .notice-item { margin-bottom: 24rpx; } .notice-title { font-size: 28rpx; color: #333; font-weight: 500; } .notice-content { margin-top: 32rpx; } .notice-cont { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: flex-start; margin-bottom: 16rpx; } .notice-cont:last-child { margin-bottom: 0; } .notice-text { flex: 1; font-size: 26rpx; color: #666; } /* 底部按钮 */ .bottom-bar { position: fixed; left: 0; right: 0; bottom: 0; height: 156rpx; background-color: #FFFFFF; display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-end; /* padding-bottom: env(safe-area-inset-bottom); */ border-top: 1rpx solid rgba(0, 0, 0, 0.1); padding: 0 38rpx; /* margin-bottom: 20rpx; */ } .lianxi { display: flex; flex-flow: column nowrap; justify-content: center; align-items: center; } .lianxi-text { font-size: 16rpx; color: #666666; } .lianxi-icon { width: 34rpx; height: 34rpx; margin-bottom: 10rpx; } .submit-btn { width: 670rpx; height: 86rpx; background: #E8101E; border-radius: 50rpx; font-weight: 400; font-size: 34rpx; color: #FFFFFF; text-align: center; font-style: normal; display: flex; align-items: center; justify-content: center; } .disabled-btn { opacity: 0.5 !important; background-color: #E8101E; /* 保持原有颜色,只是降低透明度 */ } .cannot-submit { background-color: #999999; } .shop-info { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: center; padding: 0 24rpx 16rpx; border-bottom: 1rpx solid rgba(0, 0, 0, 0.05); } .shop-logo { width: 112rpx; height: 136rpx; background-color: #000; margin-right: 20rpx; } .shop-info-you { flex: 1; display: flex; flex-flow: column wrap; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; flex-direction: row; } .shop-name { width: 480rpx; font-size: 28rpx; color: #3D3D3D; margin-bottom: 10rpx; } .shop-class-w { width: 480rpx; } .shop-class { margin-bottom: 8rpx; } .shop-class, .shop-time { font-size: 24rpx; color: #666666; } .shop-cont { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; padding: 16rpx 24rpx; } .shop-cont-left { display: flex; flex-flow: column wrap; justify-content: space-between; align-items: flex-start; } .shop-cont-right { display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; } .shop-address, .shop-tell { width: 430rpx; padding-right: 20rpx; font-size: 24rpx; line-height: 36rpx; color: #333333; } .shop-distance { font-size: 24rpx; color: #666666; } .shop-headle { width: 40rpx; height: 40rpx; margin-left: 60rpx; } .video-controls { position: absolute; left: 0; right: 0; bottom: 0; height: 100rpx; display: flex; align-items: flex-start; justify-content: center; z-index: 3; } .control-btn { width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.5); border-radius: 30rpx; margin: 20rpx 660rpx 0 0; } .control-icon { width: 40rpx; height: 40rpx; } /* H5适配 */ /* APP适配 */ /* 小程序适配 */ .custom-navbar { background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%); }