/* #ifndef APP-NVUE */ image, video { display: block; width: 100%; height: 100%; border: 0; } image { will-change: transform; } input, textarea { outline: 0; flex: 1; } textarea { width: 100%; } input { // height: 100%; } label { display: block; } .oh { overflow: hidden; } .dib { display: inline-block; } .db { display: block; } .dn { display: none; } /* 行内弹 */ .dif { display: inline-flex; } /* 外边距 */ .mauto { margin: 0 auto; } .app, .appbw, .page { overflow: hidden; /* #ifndef H5 */ padding-bottom: constant(safe-area-inset-bottom); padding-bottom: calc(0 + env(safe-area-inset-bottom)); /* #endif */ } .app, .appbw { min-height: 100vh; overflow-y: scroll; } .app, .page { background-color: #f6f6f6; } .appbw { background-color: #fff; } .page { display: flex; flex-direction: column; align-items: stretch; height: 100vh; } // 左浮动 .fl { float: left; } .fr { float: right; } .bsb { box-sizing: border-box; } .df { display: flex; } // 盒子不变形挤压 .fs0 { flex-shrink: 0; } .ti2 { text-indent: 2em; } /* 元素不换行 */ .wsn { white-space: nowrap; } /* 单词换行 */ .wbb { word-break: break-all; } .fill { padding-bottom: constant(safe-area-inset-bottom); padding-bottom: calc(0rpx + env(safe-area-inset-bottom)); } .inputBox input { min-height: 60rpx; } .hohp { height: 100%; } /* #endif */ .jcsa { justify-content: space-around; } .jcsb { justify-content: space-between; } .jcc { justify-content: center; } .jcl { justify-content: flex-start; } .jcr { justify-content: flex-end; } .aic { align-items: center; } .aife { align-items: flex-end; } .rows { display: flex; justify-content: space-between; align-items: center; } .navs { display: flex; justify-content: space-around; align-items: center; } .fmid { display: flex; justify-content: center; align-items: center; } .ver { display: flex; flex-direction: column; align-items: center; } .fdr { flex-direction: row; } .fdc { flex-direction: column; } .fww { flex-wrap: wrap; } .f1 { flex: 1; } /* 定位 */ .pf { position: fixed; } .pr { position: relative; } .pa { position: absolute; } .t0 { top: 0; } .l0 { left: 0; } .r0 { right: 0; } .b0 { bottom: 0; } .pmid { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .pfull { position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .w120 { width: 120rpx; } .w150 { width: 150rpx; } .w180 { width: 180rpx; } .w200 { width: 200rpx; } /* 宽高 */ .wh20 { width: 20rpx; height: 20rpx; } .wh24 { width: 24rpx; height: 24rpx; } .wh26 { width: 26rpx; height: 26rpx; } .wh30 { width: 30rpx; height: 30rpx; } .wh35 { width: 35rpx; height: 35rpx; } .wh40 { width: 40rpx; height: 40rpx; } .wh45 { width: 45rpx; height: 45rpx; } .wh50 { width: 50rpx; height: 50rpx; } .wh55 { width: 55rpx; height: 55rpx; } .wh60 { width: 60rpx; height: 60rpx; } .wh65 { width: 65rpx; height: 65rpx; } .wh70 { width: 70rpx; height: 70rpx; } .wh75 { width: 75rpx; height: 75rpx; } .wh80 { width: 80rpx; height: 80rpx; } .wh90 { width: 90rpx; height: 90rpx; } .wh95 { width: 95rpx; height: 95rpx; } .wh100 { width: 100rpx; height: 100rpx; } .wh110 { width: 110rpx; height: 110rpx; } .wh120 { width: 120rpx; height: 120rpx; } .wh130 { width: 130rpx; height: 130rpx; } .wh140 { width: 140rpx; height: 140rpx; } .wh150 { width: 150rpx; height: 150rpx; } .wh160 { width: 160rpx; height: 160rpx; } .wh170 { width: 170rpx; height: 170rpx; } .wh180 { width: 180rpx; height: 180rpx; } .wh190 { width: 190rpx; height: 190rpx; } .wh200 { width: 200rpx; height: 200rpx; } .wh220 { width: 220rpx; height: 220rpx; } .wh250 { width: 250rpx; height: 250rpx; } .wh300 { width: 300rpx; height: 300rpx; } .wh320 { width: 320rpx; height: 320rpx; } .wh330 { width: 330rpx; height: 330rpx; } .wh340 { width: 340rpx; height: 340rpx; } .wh350 { width: 350rpx; height: 350rpx; } .mt5 { margin-top: 5rpx; } .mt10 { margin-top: 10rpx; } .mt10p { margin-top: 10vh; } .mt15 { margin-top: 15rpx; } .mt20 { margin-top: 20rpx; } .mt20p { margin-top: 20vh; } .mt25 { margin-top: 25rpx; } .mt30 { margin-top: 30rpx; } .mt35 { margin-top: 35rpx; } .mt40 { margin-top: 40rpx; } .mt50 { margin-top: 50rpx; } .mt60 { margin-top: 60rpx; } .mt70 { margin-top: 70rpx; } .mt80 { margin-top: 80rpx; } .mt90 { margin-top: 90rpx; } /* 左 */ .ml5 { margin-left: 5rpx; } .ml10 { margin-left: 10rpx; } .ml15 { margin-left: 15rpx; } .ml20 { margin-left: 20rpx; } .ml25 { margin-left: 25rpx; } .ml30 { margin-left: 30rpx; } .ml35 { margin-left: 35rpx; } .ml40 { margin-left: 40rpx; } .ml45 { margin-left: 45rpx; } .ml60 { margin-left: 60rpx; } .ml75 { margin-left: 75rpx; } .ml100 { margin-left: 100rpx; } /* 右 */ .mr5 { margin-right: 5rpx; } .mr10 { margin-right: 10rpx; } .mr15 { margin-right: 15rpx; } .mr20 { margin-right: 20rpx; } .mr25 { margin-right: 25rpx; } .mr30 { margin-right: 30rpx; } .mr35 { margin-right: 35rpx; } .mr40 { margin-right: 40rpx; } .mr50 { margin-right: 50rpx; } .mr60 { margin-right: 60rpx; } /* 下 */ .mb5 { margin-bottom: 5rpx; } .mb10 { margin-bottom: 10rpx; } .mb15 { margin-bottom: 15rpx; } .mb20 { margin-bottom: 20rpx; } .mb25 { margin-bottom: 25rpx; } .mb30 { margin-bottom: 30rpx; } .mb40 { margin-bottom: 40rpx; } .mb50 { margin-bottom: 50rpx; } .mb60 { margin-bottom: 60rpx; } .mb70 { margin-bottom: 70rpx; } .mb80 { margin-bottom: 80rpx; } /* 上下 */ .mtb5 { margin-top: 5rpx; margin-bottom: 5rpx; } .mtb10 { margin-top: 10rpx; margin-bottom: 10rpx; } .mtb15 { margin-top: 15rpx; margin-bottom: 15rpx; } .mtb20 { margin-top: 20rpx; margin-bottom: 20rpx; } .mtb25 { margin-top: 25rpx; margin-bottom: 25rpx; } .mtb30 { margin-top: 30rpx; margin-bottom: 30rpx; } .mtb35 { margin-top: 35rpx; margin-bottom: 35rpx; } .mtb40 { margin-top: 40rpx; margin-bottom: 40rpx; } .mtb50 { margin-top: 50rpx; margin-bottom: 50rpx; } .mtb60 { margin-top: 60rpx; margin-bottom: 60rpx; } /* 左右 */ .mlr5 { margin-left: 5rpx; margin-right: 5rpx; } .mlr10 { margin-left: 10rpx; margin-right: 10rpx; } .mlr15 { margin-left: 15rpx; margin-right: 15rpx; } .mlr20 { margin-left: 20rpx; margin-right: 20rpx; } .mlr25 { margin-left: 25rpx; margin-right: 25rpx; } .mlr30 { margin-left: 30rpx; margin-right: 30rpx; } .mlr35 { margin-left: 35rpx; margin-right: 35rpx; } .mlr40 { margin-left: 40rpx; margin-right: 40rpx; } .mlr45 { margin-left: 45rpx; margin-right: 45rpx; } .mlr50 { margin-left: 50rpx; margin-right: 50rpx; } .mlr60 { margin-left: 60rpx; margin-right: 60rpx; } .p16 { padding: 16rpx; } .p25 { padding: 25rpx; } /* 上 */ .pt5 { padding-top: 5rpx; } .pt10 { padding-top: 10rpx; } .pt15 { padding-top: 15rpx; } .pt20 { padding-top: 20rpx; } .pt25 { padding-top: 25rpx; } .pt30 { padding-top: 30rpx; } .pt35 { padding-top: 35rpx; } .pt40 { padding-top: 40rpx; } .pt45 { padding-top: 45rpx; } .pt50 { padding-top: 50rpx; } .pt60 { padding-top: 60rpx; } .pt70 { padding-top: 70rpx; } .pl5 { padding-left: 5rpx; } .pl10 { padding-left: 10rpx; } .pl15 { padding-left: 15rpx; } .pl20 { padding-left: 20rpx; } .pl25 { padding-left: 25rpx; } .pl30 { padding-left: 30rpx; } .pl40 { padding-left: 40rpx; } .pl50 { padding-left: 50rpx; } .pl60 { padding-left: 60rpx; } .pl65 { padding-left: 65rpx; } .pl70 { padding-left: 70rpx; } .pl90 { padding-left: 90rpx; } /* 右 */ .pr5 { padding-right: 5rpx; } .pr10 { padding-right: 10rpx; } .pr15 { padding-right: 15rpx; } .pr20 { padding-right: 20rpx; } .pr25 { padding-right: 25rpx; } .pr30 { padding-right: 30rpx; } .pr50 { padding-right: 50rpx; } /* 下 */ .pb5 { padding-bottom: 5rpx; } .pb10 { padding-bottom: 10rpx; } .pb15 { padding-bottom: 15rpx; } .pb20 { padding-bottom: 20rpx; } .pb25 { padding-bottom: 25rpx; } .pb30 { padding-bottom: 30rpx; } .pb35 { padding-bottom: 35rpx; } .pb40 { padding-bottom: 40rpx; } .pb50 { padding-bottom: 50rpx; } .pb60 { padding-bottom: 60rpx; } .pb80 { padding-bottom: 80rpx; } .pb90 { padding-bottom: 90rpx; } .pb100p { padding-bottom: 100%; } .pb120 { padding-bottom: 120rpx; } /* 上下 */ .ptb3 { padding-top: 3rpx; padding-bottom: 3rpx; } .ptb4 { padding-top: 4rpx; padding-bottom: 4rpx; } .ptb5 { padding-top: 5rpx; padding-bottom: 5rpx; } .ptb10 { padding-top: 10rpx; padding-bottom: 10rpx; } .ptb15 { padding-top: 15rpx; padding-bottom: 15rpx; } .ptb19 { padding-top: 19rpx; padding-bottom: 19rpx; } .ptb20 { padding-top: 20rpx; padding-bottom: 20rpx; } .ptb25 { padding-top: 25rpx; padding-bottom: 25rpx; } .ptb30 { padding-top: 30rpx; padding-bottom: 30rpx; } .ptb35 { padding-top: 35rpx; padding-bottom: 35rpx; } .ptb40 { padding-top: 40rpx; padding-bottom: 40rpx; } .ptb50 { padding-top: 50rpx; padding-bottom: 50rpx; } .ptb75 { padding-top: 75rpx; padding-bottom: 75rpx; } .ptb90 { padding-top: 90rpx; padding-bottom: 90rpx; } /* 左右 */ .plr5 { padding-left: 5rpx; padding-right: 5rpx; } .plr10 { padding-left: 10rpx; padding-right: 10rpx; } .plr15 { padding-left: 15rpx; padding-right: 15rpx; } .plr20 { padding-left: 20rpx; padding-right: 20rpx; } .plr25 { padding-left: 25rpx; padding-right: 25rpx; } .plr30 { padding-left: 30rpx; padding-right: 30rpx; } .plr35 { padding-left: 35rpx; padding-right: 35rpx; } .plr40 { padding-left: 40rpx; padding-right: 40rpx; } .plr45 { padding-left: 45rpx; padding-right: 45rpx; } .plr50 { padding-left: 50rpx; padding-right: 50rpx; } .plr60 { padding-left: 60rpx; padding-right: 60rpx; } .plr70 { padding-left: 70rpx; padding-right: 70rpx; } .plr95 { padding-left: 95rpx; padding-right: 95rpx; } .plr125 { padding-left: 125rpx; padding-right: 125rpx; } .plr135 { padding-left: 135rpx; padding-right: 135rpx; } /* 段落样式 */ /* 对齐方式 */ .tac { text-align: center; } .tal { text-align: left; } .tar { text-align: right; } /* 行高 */ .lh40 { line-height: 40rpx; } // 贯穿线 .tdl { text-decoration: line-through; } // 下划线 .tbu { text-decoration: underline; } /* 颜色 */ .cred { color: red; } .c000 { color: #000; } .c111 { color: #111; } .c191919 { color: #191919; } .c333 { color: #333; } .c666 { color: #666; } .c999 { color: #999; } .cccc { color: #ccc; } .c37B111 { color: #37B111; } .cfff { color: #fff; } .cd8d8d8 { color: #d8d8d8; } .cFF9B27 { color: #ff9b27; } .cFF4242 { color: #ff4242; } .fw600 { font-weight: 600; } /* 文字大小 */ .f20 { font-size: 20rpx; } .f22 { font-size: 22rpx; } .f24 { font-size: 24rpx; } .f26 { font-size: 26rpx; } .f28 { font-size: 28rpx; } .f30 { font-size: 30rpx; } .f32 { font-size: 32rpx; } .f34 { font-size: 34rpx; } .f36 { font-size: 36rpx; } .f38 { font-size: 38rpx; } .f40 { font-size: 40rpx; } .f44 { font-size: 44rpx; } .f46 { font-size: 46rpx; } .f48 { font-size: 48rpx; } .f50 { font-size: 50rpx; } .f52 { font-size: 52rpx; } .f54 { font-size: 54rpx; } .f56 { font-size: 56rpx; } .f60 { font-size: 60rpx; } .f64 { font-size: 64rpx; } .f72 { font-size: 72rpx; } .b { font-weight: 900; } .l { font-weight: 100; } /* 背景 */ .bfff { background-color: #fff; } .bf8f8f8 { background-color: #f8f8f8; } .b000 { background-color: #000; } .beee { background-color: #eee; } .bccc { background-color: #ccc; } .bFFFBF3 { background-color: #fffbf3; } .bd1s { border: 1rpx solid; } /* 圆角 */ .br4 { border-radius: 4rpx; } .br6 { border-radius: 6rpx; } .br10 { border-radius: 10rpx; } .br12 { border-radius: 12rpx; } .br15 { border-radius: 15rpx; } .br20 { border-radius: 20rpx; } .br25 { border-radius: 25rpx; } .br30 { border-radius: 30rpx; } .cir { border-radius: 50%; } .bar { border-radius: 100rpx; } // 按钮 .btn { overflow: hidden; padding-top: 18rpx; padding-bottom: 18rpx; line-height: 1em; text-align: center; font-size: 30rpx; border-radius: 10rpx; /* #ifndef APP-NVUE */ box-sizing: border-box; white-space: nowrap; /* #endif */ & + .btn { margin-left: 20rpx; } &.bar { border-radius: 100rpx; } &.ti { padding-top: 8rpx; padding-bottom: 8rpx; font-size: 26rpx; border-radius: 6rpx; } // 小号 &.sm { font-size: 28rpx; padding-top: 12rpx; padding-bottom: 12rpx; } // 大号 &.lg { font-size: 34rpx; padding-top: 22rpx; padding-bottom: 22rpx; } // 大中大 &.pro { font-size: 36rpx; padding-top: 30rpx; padding-bottom: 30rpx; } // 加大号 &.plus { font-size: 36rpx; padding-top: 34rpx; padding-bottom: 34rpx; border-radius: 15rpx; } // 主要的 &.primary { color: #fff; background-image: linear-gradient(to right, #FF9B27,#FDC123); } // 温暖的 &.warm { color: #fff; background-color: #FF9B27; } // 取消 &.cancel { color: #333333; background-color: #f3f3f5; } // 禁用的 &.disabled { color: #fff; background-color: #c2c2c2; } // 关闭 &.close { color: #333333; } // 关注 &.focus { color: #fff; background-color: #ff0f2e; } // 黑色的 &.black { color: #fff; background-color: #1a1a1a; } // 彩色的 &.colourful { color: #fff; background: linear-gradient(99deg, #27efe2 0%, #a45eff 43%, #ff004f 100%), linear-gradient(108deg, #d7f550 -2%, #afef4d 98%); } // 温暖的 &.warmHollow { color: #FF9B27; border: 2rpx solid; } // 温暖的 &.closeHollow { color: #333333; border: 2rpx solid #999; } } /* 溢出隐藏显示... */ .thd { /* #ifndef APP-NVUE */ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; /* #endif */ /* #ifdef APP-NVUE */ lines: 1; text-overflow: ellipsis; /* #endif */ } .t2hd { /* #ifndef APP-NVUE */ overflow: hidden; text-overflow: -o-ellipsis-lastline; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; /* #endif */ /* #ifdef APP-NVUE */ lines: 2; text-overflow: ellipsis; /* #endif */ } .t3hd { /* #ifndef APP-NVUE */ overflow: hidden; text-overflow: -o-ellipsis-lastline; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; /* #endif */ /* #ifdef APP-NVUE */ lines: 3; text-overflow: ellipsis; /* #endif */ } .t4hd { /* #ifndef APP-NVUE */ overflow: hidden; text-overflow: -o-ellipsis-lastline; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; /* #endif */ /* #ifdef APP-NVUE */ lines: 4; text-overflow: ellipsis; /* #endif */ } // 弹窗中间 .popMid { /* #ifndef APP-NVUE */ box-sizing: border-box; overflow: hidden; max-width: 700rpx; width: 80vw; /* #endif */ border-radius: 20rpx; } // 下弹窗 .popBot { /* #ifndef APP-NVUE */ box-sizing: border-box; max-height: 80vh; overflow: hidden; /* #endif */ border-radius: 20rpx 20rpx 0 0; } /* 悬浮底部 */ .footer { position: fixed; left: 0; right: 0; bottom: 0; width: 100%; z-index: 10; /* #ifndef APP-NVUE */ box-sizing: border-box; padding-top: 30rpx; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: calc(30rpx + env(safe-area-inset-bottom)); /* #endif */ /* #ifdef APP-NVUE */ padding: 30rpx 0; /* #endif */ // 小号 &.sm { /* #ifndef APP-NVUE */ padding-top: 15rpx; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: calc(15rpx + env(safe-area-inset-bottom)); /* #endif */ /* #ifdef APP-NVUE */ padding: 15rpx 0; /* #endif */ } // 阴影 &.shadow { box-shadow: 0 -3rpx 12rpx rgba(102, 102, 102, 0.16); } } // 输入框盒子 .inputBox { background-color: #f4f4f4; border-radius: 16rpx; } // 输入框为空的占位符 placeholder .placeholderStyle { color: #999999; } // 上传图片列表 .imgList { $radius: 10rpx; display: flex; flex-wrap: wrap; // 图片 .imgs { position: relative; margin-right: 20rpx; margin-bottom: 20rpx; // 关闭 .close { position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; transform: translate(50%, -50%); } // 查看大图 .view { position: absolute; right: 0; bottom: 0; background-color: rgba(64, 64, 64, 0.5); border-radius: 4rpx 0 $radius 0; // &.bg { background-color: rgba(0, 0, 0, 0.5); } } } } // 标题导航 .head { height: 44px; } // 遮罩 .window { background-color: rgba(0, 0, 0, 0.4); } // 暂无更多 .nomore { text-align: center; color: #999; font-size: 20rpx; } // 商城头部彩色背景 .shopHeaderBg { position: absolute; top: 0; right: 0; left: 0; background-image: linear-gradient(to top, #f8f8f8, #f8f8f800 20%), linear-gradient(60deg, rgba(234, 251, 237), rgba(254, 229, 208)); height: 500rpx; } .underpainting { position: relative; /* 需要设置为 relative */ overflow: hidden; /* 防止伪元素溢出 */ } .underpainting::before { position: absolute; top: 0; left: 0; right: 0; height: 560rpx; /* 设置背景高度 */ background: linear-gradient(49deg, #dbfce9 -6%, #fffbf3 51%, #feeedb 82%, #fee3cd 103%); z-index: 0; /* 使其在背景层 */ } .mineArrowRight { width: 208rpx; height: 208rpx; background: #d8d8d8; border-radius: 50%; margin: 24rpx 0; }