UNPKG

mp-colorui

Version:

MP ColorUI 是一款基于 Taro 框架并且联合 Color-UI CSS 库开发的多端 UI 组件库(目前仅支持小程序端)

1,785 lines (1,690 loc) 174 kB
@charset "UTF-8"; /* ================== 初始化 ==================== */ /* 标准色 */ /* 浅色 */ /* 渐变色 */ /* 阴影透明色 */ page { /* Color 可以自定义相关配色 */ /* var属性兼容性 --> https://www.caniuse.com/#feat=css-variables */ /* 标准色 */ background-color: #f1f1f1; font-size: 28rpx; color: #333333; font-family: Helvetica Neue, Helvetica, sans-serif; } view, scroll-view, swiper, button, input, textarea, label, navigator, image { -webkit-box-sizing: border-box; box-sizing: border-box; } .round { border-radius: 5000rpx; } .radius { border-radius: 6rpx; } .response { width: 100%; } /* ================== 图片 ==================== */ image { max-width: 100%; display: inline-block; position: relative; z-index: 0; } image.loading::before { content: ""; background-color: #f5f5f5; display: block; position: absolute; width: 100%; height: 100%; z-index: -2; } image.loading::after { content: "\e7f1"; font-family: "cuIcon"; position: absolute; top: 0; left: 0; width: 32rpx; height: 32rpx; line-height: 32rpx; right: 0; bottom: 0; z-index: -1; font-size: 32rpx; margin: auto; color: #ccc; -webkit-animation: cuIcon-spin 2s infinite linear; animation: cuIcon-spin 2s infinite linear; display: block; } /* ================== 开关 ==================== */ switch, checkbox, radio { position: relative; } switch::after, switch::before { font-family: "cuIcon"; content: "\e645"; position: absolute; color: #fff !important; top: 0%; left: 0; font-size: 26rpx; line-height: 26rpx; width: 50%; text-align: center; pointer-events: none; -webkit-transform: scale(0, 0); -ms-transform: scale(0, 0); transform: scale(0, 0); -webkit-transition: all 0.3s ease-in-out 0s; -o-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; z-index: 9; bottom: 0; height: 26rpx; margin: auto; } switch::before { content: "\e646"; right: 0; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); left: auto; } switch[checked]::after, switch.checked::after { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); } switch[checked]::before, switch.checked::before { -webkit-transform: scale(0, 0); -ms-transform: scale(0, 0); transform: scale(0, 0); } switch .wx-switch-input { border: none; padding: 0 24rpx; width: 96rpx; height: 52rpx; margin: 0; border-radius: 100rpx; } switch .wx-switch-input:not([class*="bg-"]) { background: #8799a3 !important; } switch .wx-switch-input::after { margin: auto; width: 52rpx; height: 52rpx; border-radius: 100rpx; left: 0; top: 0; bottom: 0; position: absolute; -webkit-transform: scale(0.9, 0.9); -ms-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); -webkit-transition: all 0.1s ease-in-out 0s; -o-transition: all 0.1s ease-in-out 0s; transition: all 0.1s ease-in-out 0s; } switch .wx-switch-input.wx-switch-input-checked::after { margin: auto; left: 44rpx; -webkit-box-shadow: none; box-shadow: none; -webkit-transform: scale(0.9, 0.9); -ms-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } radio::before, checkbox::before { font-family: "cuIcon"; content: "\e645"; position: absolute; color: #ffffff !important; top: 50%; margin-top: -16rpx; right: 10rpx; font-size: 32rpx; line-height: 32rpx; pointer-events: none; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); -webkit-transition: all 0.3s ease-in-out 0s; -o-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; z-index: 9; } radio .wx-radio-input, checkbox .wx-checkbox-input { margin: 0; width: 48rpx; height: 48rpx; } checkbox.round .wx-checkbox-input { border-radius: 100rpx; } switch.radius .wx-switch-input::after, switch.radius .wx-switch-input, switch.radius .wx-switch-input::before { border-radius: 10rpx; } switch .wx-switch-input::before, radio.radio::before, checkbox .wx-checkbox-input::before, radio .wx-radio-input::before { display: none; } radio.radio[checked]::after { content: ""; background-color: transparent; display: block; position: absolute; width: 16rpx; height: 16rpx; z-index: 999; top: 0; left: 0; right: 0; bottom: 0; margin: auto; border-radius: 200rpx; border: 16rpx solid #ffffff !important; } .switch-sex::after { content: "\e71c"; } .switch-sex::before { content: "\e71a"; } .switch-sex .wx-switch-input { background: #e54d42 !important; border-color: #e54d42 !important; } .switch-sex[checked] .wx-switch-input { background: #0081ff !important; border-color: #0081ff !important; } switch.red[checked] .wx-switch-input, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { border-color: #e54d42 !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { border-color: #f37b1d !important; } switch.yellow[checked] .wx-switch-input, checkbox.yellow[checked] .wx-checkbox-input, radio.yellow[checked] .wx-radio-input { border-color: #fbbd08 !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { border-color: #8dc63f !important; } switch.green[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input { border-color: #39b54a !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { border-color: #1cbbb4 !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { border-color: #0081ff !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { border-color: #6739b6 !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { border-color: #9c26b0 !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { border-color: #e03997 !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { border-color: #a5673f !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { border-color: #8799a3 !important; } switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { border-color: #8799a3 !important; } switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { border-color: #333333 !important; } switch.white[checked] .wx-switch-input, checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { border-color: #ffffff !important; } switch.red[checked] .wx-switch-input.wx-switch-input-checked, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { background-color: #e54d42 !important; color: #ffffff !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { background-color: #f37b1d !important; color: #ffffff !important; } switch.yellow[checked] .wx-switch-input, checkbox.yellow[checked] .wx-checkbox-input, radio.yellow[checked] .wx-radio-input { background-color: #fbbd08 !important; color: #333333 !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { background-color: #8dc63f !important; color: #ffffff !important; } switch.green[checked] .wx-switch-input, switch[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input, radio[checked] .wx-radio-input { background-color: #39b54a !important; color: #ffffff !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { background-color: #1cbbb4 !important; color: #ffffff !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { background-color: #0081ff !important; color: #ffffff !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { background-color: #6739b6 !important; color: #ffffff !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { background-color: #9c26b0 !important; color: #ffffff !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { background-color: #e03997 !important; color: #ffffff !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { background-color: #a5673f !important; color: #ffffff !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { background-color: #8799a3 !important; color: #ffffff !important; } switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { background-color: #f0f0f0 !important; color: #333333 !important; } switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { background-color: #333333 !important; color: #ffffff !important; } switch.white[checked] .wx-switch-input, checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { background-color: #ffffff !important; color: #333333 !important; } /* ColorUi */ /* 标准色 */ /* 浅色 */ /* 渐变色 */ /* 阴影透明色 */ /* ================== 头像 ==================== */ .cu-avatar { font-variant: small-caps; margin: 0; padding: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; text-align: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; background-color: #ccc; color: #ffffff; white-space: nowrap; position: relative; width: 64rpx; height: 64rpx; background-size: cover; background-position: center; vertical-align: middle; font-size: 1.5em; } .cu-avatar.sm { width: 48rpx; height: 48rpx; font-size: 1em; } .cu-avatar.lg { width: 96rpx; height: 96rpx; font-size: 2em; } .cu-avatar.xl { width: 128rpx; height: 128rpx; font-size: 2.5em; } .cu-avatar .avatar-text { font-size: 0.4em; } .cu-avatar-group { direction: rtl; unicode-bidi: bidi-override; padding: 0 10rpx 0 40rpx; display: inline-block; } .cu-avatar-group .cu-avatar { margin-left: -30rpx; border: 4rpx solid #f1f1f1; vertical-align: middle; } .cu-avatar-group .cu-avatar.sm { margin-left: -20rpx; border: 1rpx solid #f1f1f1; } /* ================== 边框 ==================== */ /* -- 实线 -- */ .solid, .solid-top, .solid-right, .solid-bottom, .solid-left, .solids, .solids-top, .solids-right, .solids-bottom, .solids-left, .dashed, .dashed-top, .dashed-right, .dashed-bottom, .dashed-left { position: relative; } .solid::after, .solid-top::after, .solid-right::after, .solid-bottom::after, .solid-left::after, .solids::after, .solids-top::after, .solids-right::after, .solids-bottom::after, .solids-left::after, .dashed::after, .dashed-top::after, .dashed-right::after, .dashed-bottom::after, .dashed-left::after { content: ' '; width: 200%; height: 200%; position: absolute; top: 0; left: 0; border-radius: inherit; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; pointer-events: none; -webkit-box-sizing: border-box; box-sizing: border-box; } .solid::after { border: 1rpx solid rgba(0, 0, 0, 0.1); } .solid-top::after { border-top: 1rpx solid rgba(0, 0, 0, 0.1); } .solid-right::after { border-right: 1rpx solid rgba(0, 0, 0, 0.1); } .solid-bottom::after { border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); } .solid-left::after { border-left: 1rpx solid rgba(0, 0, 0, 0.1); } .solids::after { border: 8rpx solid #eee; } .solids-top::after { border-top: 8rpx solid #eee; } .solids-right::after { border-right: 8rpx solid #eee; } .solids-bottom::after { border-bottom: 8rpx solid #eee; } .solids-left::after { border-left: 8rpx solid #eee; } /* -- 虚线 -- */ .dashed::after { border: 1rpx dashed #ddd; } .dashed-top::after { border-top: 1rpx dashed #ddd; } .dashed-right::after { border-right: 1rpx dashed #ddd; } .dashed-bottom::after { border-bottom: 1rpx dashed #ddd; } .dashed-left::after { border-left: 1rpx dashed #ddd; } /* -- 阴影 -- */ .shadow { -webkit-box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); } .shadow-lg { -webkit-box-shadow: 0 40rpx 100rpx 0 rgba(0, 0, 0, 0.07); box-shadow: 0 40rpx 100rpx 0 rgba(0, 0, 0, 0.07); } .shadow-warp { position: relative; -webkit-box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1); box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1); } .shadow-warp:before, .shadow-warp:after { position: absolute; content: ''; top: 20rpx; bottom: 30rpx; left: 20rpx; width: 50%; -webkit-box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2); box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2); -webkit-transform: rotate(-3deg); -ms-transform: rotate(-3deg); transform: rotate(-3deg); z-index: -1; } .shadow-warp:after { right: 20rpx; left: auto; -webkit-transform: rotate(3deg); -ms-transform: rotate(3deg); transform: rotate(3deg); } .shadow-blur { position: relative; } .shadow-blur::before { content: ''; display: block; background: inherit; -webkit-filter: blur(10rpx); filter: blur(10rpx); position: absolute; width: 100%; height: 100%; top: 10rpx; left: 10rpx; z-index: -1; opacity: 0.4; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; border-radius: inherit; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); } /* ================== 按钮 ==================== */ button.icon.lg { width: 80rpx; height: 80rpx; } .cu-btn { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 30rpx; font-size: 28rpx; height: 64rpx; line-height: 1; text-align: center; text-decoration: none; overflow: visible; margin-left: initial; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); margin-right: initial; } .cu-btn::after { display: none; } .cu-btn:not([class*='bg-']) { background-color: #f0f0f0; } .cu-btn[class*='line'] { background-color: transparent; } .cu-btn[class*='line']::after { content: ' '; display: block; width: 200%; height: 200%; position: absolute; top: 0; left: 0; border: 1rpx solid currentColor; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 12rpx; z-index: 1; pointer-events: none; } .cu-btn.round[class*='line']::after { border-radius: 1000rpx; } .cu-btn[class*='lines']::after { border: 6rpx solid currentColor; } .cu-btn[class*='bg-']::after { display: none; } .cu-btn.sm { padding: 0 20rpx; font-size: 20rpx; height: 48rpx; } .cu-btn.lg { padding: 0 40rpx; font-size: 32rpx; height: 80rpx; } .cu-btn.icon { width: 64rpx; height: 64rpx; border-radius: 500rpx; padding: 0; } .cu-btn.icon.sm { width: 48rpx; height: 48rpx; } .cu-btn.shadow-blur::before { top: 4rpx; left: 4rpx; -webkit-filter: blur(6rpx); filter: blur(6rpx); opacity: 0.6; } .cu-btn.button-hover { -webkit-transform: translate(1rpx, 1rpx); -ms-transform: translate(1rpx, 1rpx); transform: translate(1rpx, 1rpx); } .cu-btn.block { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .cu-btn[disabled] { opacity: 0.6; color: #ffffff; } /* ================== 徽章 ==================== */ .cu-tag { font-size: 24rpx; vertical-align: middle; position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 16rpx; height: 48rpx; font-family: Helvetica Neue, Helvetica, sans-serif; white-space: nowrap; } .cu-tag:not([class*='bg']):not([class*='line']) { background-color: #f1f1f1; } .cu-tag[class*='line-']::after { content: ' '; width: 200%; height: 200%; position: absolute; top: 0; left: 0; border: 1rpx solid currentColor; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: inherit; z-index: 1; pointer-events: none; } .cu-tag.radius[class*='line']::after { border-radius: 12rpx; } .cu-tag.round[class*='line']::after { border-radius: 1000rpx; } .cu-tag + .cu-tag { margin-left: 10rpx; } .cu-tag.sm { font-size: 20rpx; padding: 0 12rpx; height: 32rpx; } .cu-tag.badge { border-radius: 200rpx; position: absolute; top: -10rpx; right: -10rpx; font-size: 20rpx; padding: 0 10rpx; height: 28rpx; color: #ffffff; } .cu-tag.badge:not([class*='bg-']) { background-color: #dd514c; } .cu-tag:empty:not([class*='cuIcon-']) { padding: 0; width: 16rpx; height: 16rpx; top: -4rpx; right: -4rpx; } .cu-tag[class*='cuIcon-'] { width: 32rpx; height: 32rpx; top: -4rpx; right: -4rpx; } .cu-capsule { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; } .cu-capsule + .cu-capsule { margin-left: 10rpx; } .cu-capsule .cu-tag { margin: 0; } .cu-capsule .cu-tag[class*='line-']:last-child::after { border-left: 0 solid transparent; } .cu-capsule .cu-tag[class*='line-']:first-child::after { border-right: 0 solid transparent; } .cu-capsule.radius .cu-tag:first-child { border-top-left-radius: 6rpx; border-bottom-left-radius: 6rpx; } .cu-capsule.radius .cu-tag:last-child::after, .cu-capsule.radius .cu-tag[class*='line-'] { border-top-right-radius: 12rpx; border-bottom-right-radius: 12rpx; } .cu-capsule.round .cu-tag:first-child { border-top-left-radius: 200rpx; border-bottom-left-radius: 200rpx; text-indent: 4rpx; } .cu-capsule.round .cu-tag:last-child::after, .cu-capsule.round .cu-tag:last-child { border-top-right-radius: 200rpx; border-bottom-right-radius: 200rpx; text-indent: -4rpx; } /* ================== 进度条 ==================== */ .cu-progress { overflow: hidden; height: 28rpx; background-color: #ebeef5; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .cu-progress + view, .cu-progress + text { line-height: 1; } .cu-progress.xs { height: 10rpx; } .cu-progress.sm { height: 20rpx; } .cu-progress view { width: 0; height: 100%; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; justify-items: flex-end; -webkit-justify-content: space-around; -ms-flex-pack: distribute; justify-content: space-around; font-size: 20rpx; color: #ffffff; -webkit-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; } .cu-progress text { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; font-size: 20rpx; color: #666; text-indent: 10rpx; } .cu-progress.text-progress { padding-right: 60rpx; } .cu-progress.striped view { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-size: 72rpx 72rpx; } .cu-progress.active view { -webkit-animation: progress-stripes 2s linear infinite; animation: progress-stripes 2s linear infinite; } @-webkit-keyframes progress-stripes { from { background-position: 72rpx 0; } to { background-position: 0 0; } } @keyframes progress-stripes { from { background-position: 72rpx 0; } to { background-position: 0 0; } } /* ================== 加载 ==================== */ .cu-load { display: block; line-height: 3em; text-align: center; } .cu-load::before { font-family: 'cuIcon'; display: inline-block; margin-right: 6rpx; } .cu-load.loading::before { content: '\e67a'; -webkit-animation: cuIcon-spin 2s infinite linear; animation: cuIcon-spin 2s infinite linear; } .cu-load.loading::after { content: '加载中...'; } .cu-load.over::before { content: '\e64a'; } .cu-load.over::after { content: '没有更多了'; } .cu-load.erro::before { content: '\e658'; } .cu-load.erro::after { content: '加载失败'; } .cu-load.load-icon::before { font-size: 32rpx; } .cu-load.load-icon::after { display: none; } .cu-load.load-icon.over { display: none; } .cu-load.load-modal { position: fixed; top: 0; right: 0; bottom: 140rpx; left: 0; margin: auto; width: 260rpx; height: 260rpx; background-color: #ffffff; border-radius: 10rpx; -webkit-box-shadow: 0 0 0 2000rpx rgba(0, 0, 0, 0.5); box-shadow: 0 0 0 2000rpx rgba(0, 0, 0, 0.5); display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; font-size: 28rpx; z-index: 9999; line-height: 2.4em; } .cu-load.load-modal [class*='cuIcon-'] { font-size: 60rpx; } .cu-load.load-modal image { width: 70rpx; height: 70rpx; } .cu-load.load-modal::after { content: ''; position: absolute; background-color: #ffffff; border-radius: 50%; width: 200rpx; height: 200rpx; font-size: 10rpx; border-top: 6rpx solid rgba(0, 0, 0, 0.05); border-right: 6rpx solid rgba(0, 0, 0, 0.05); border-bottom: 6rpx solid rgba(0, 0, 0, 0.05); border-left: 6rpx solid #f37b1d; -webkit-animation: cuIcon-spin 1s infinite linear; animation: cuIcon-spin 1s infinite linear; z-index: -1; } .cu-load.load-image { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; z-index: 9999; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; position: fixed; width: 100vw; height: 100vh; top: 0; right: 0; background-color: rgba(0, 0, 0, 0.5); } .cu-load.load-image image { width: 30%; } .load-progress { pointer-events: none; top: 0; position: fixed; width: 100%; left: 0; z-index: 2000; } .load-progress.hide { display: none; } .load-progress .load-progress-bar { position: relative; width: 100%; height: 4rpx; overflow: hidden; -webkit-transition: all 200ms ease 0s; -o-transition: all 200ms ease 0s; transition: all 200ms ease 0s; } .load-progress .load-progress-spinner { position: absolute; top: 10rpx; right: 10rpx; z-index: 2000; display: block; } .load-progress .load-progress-spinner::after { content: ''; display: block; width: 24rpx; height: 24rpx; -webkit-box-sizing: border-box; box-sizing: border-box; border: solid 4rpx transparent; border-top-color: inherit; border-left-color: inherit; border-radius: 50%; -webkit-animation: load-progress-spinner 0.4s linear infinite; animation: load-progress-spinner 0.4s linear infinite; } @-webkit-keyframes load-progress-spinner { 0% { -webkit-transform: rotate(0); transform: rotate(0); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes load-progress-spinner { 0% { -webkit-transform: rotate(0); transform: rotate(0); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /* ================== 列表 ==================== */ .grayscale { -webkit-filter: grayscale(1); filter: grayscale(1); } .cu-list + .cu-list { margin-top: 30rpx; } .cu-list > .cu-item { -webkit-transition: all 0.6s ease-in-out 0s; -o-transition: all 0.6s ease-in-out 0s; transition: all 0.6s ease-in-out 0s; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } .cu-list > .cu-item .move { position: absolute; right: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 260rpx; height: 100%; -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); } .cu-list > .cu-item .move view { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .cu-list > .cu-item.move-cur { -webkit-transform: translateX(-260rpx); -ms-transform: translateX(-260rpx); transform: translateX(-260rpx); } .cu-list.menu { display: block; overflow: hidden; } .cu-list.menu > .cu-item { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding: 0 30rpx; min-height: 100rpx; background-color: #ffffff; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .cu-list.menu > .cu-item:last-child:after { border: none; } .cu-list.menu > .cu-item:after { position: absolute; top: 0; left: 0; -webkit-box-sizing: border-box; box-sizing: border-box; width: 200%; height: 200%; border-bottom: 1rpx solid #ddd; border-radius: inherit; content: ' '; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; pointer-events: none; } .cu-list.menu > .cu-item.grayscale { background-color: #f5f5f5; } .cu-list.menu > .cu-item.cur { background-color: #fcf7e9; } .cu-list.menu > .cu-item.arrow { padding-right: 90rpx; } .cu-list.menu > .cu-item.arrow:before { content: '\e6a3'; position: absolute; top: 0; right: 30rpx; bottom: 0; display: block; margin: auto; width: 30rpx; height: 30rpx; color: #8799a3; text-align: center; font-size: 34rpx; font-family: cuIcon; line-height: 30rpx; } .cu-list.menu > .cu-item button.content { padding: 0; background-color: transparent; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .cu-list.menu > .cu-item button.content:after { display: none; } .cu-list.menu > .cu-item .cu-avatar-group .cu-avatar { border-color: #ffffff; } .cu-list.menu > .cu-item .content { font-size: 30rpx; line-height: 1.6em; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .cu-list.menu > .cu-item .content > view:first-child { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .cu-list.menu > .cu-item .content > text[class*='cuIcon-'] { display: inline-block; margin-right: 10rpx; width: 1.6em; text-align: center; } .cu-list.menu > .cu-item .content > image { display: inline-block; margin-right: 10rpx; width: 1.6em; height: 1.6em; vertical-align: middle; } .cu-list.menu > .cu-item .content .cu-tag.sm { display: inline-block; margin-left: 10rpx; height: 28rpx; font-size: 16rpx; line-height: 32rpx; } .cu-list.menu > .cu-item .content .cu-tag:empty { right: 10rpx; } .cu-list.menu > .cu-item.sm-border > .cu-item:after { left: 30rpx; width: calc(200% - 120rpx); } .cu-list.menu-avatar { overflow: hidden; } .cu-list.menu-avatar > .cu-item { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding-right: 30rpx; height: 140rpx; background-color: #ffffff; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .cu-list.menu-avatar > .cu-item > .cu-avatar { position: absolute; left: 30rpx; } .cu-list.menu-avatar > .cu-item .flex .text-cut { max-width: 510rpx; } .cu-list.menu-avatar > .cu-item .content { position: absolute; left: 146rpx; width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx); line-height: 1.6em; } .cu-list.menu-avatar > .cu-item .content.flex-sub { width: calc(100% - 96rpx - 60rpx - 20rpx); } .cu-list.menu-avatar > .cu-item .content > view:first-child { font-size: 30rpx; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .cu-list.menu-avatar > .cu-item .content .cu-tag.sm { display: inline-block; margin-left: 10rpx; height: 28rpx; font-size: 16rpx; line-height: 32rpx; } .cu-list.menu-avatar > .cu-item .action { width: 100rpx; text-align: center; } .cu-list.menu-avatar > .cu-item .action view + view { margin-top: 10rpx; } .cu-list.menu-avatar.comment > .cu-item { padding: 30rpx 30rpx 30rpx 120rpx; height: auto; } .cu-list.menu-avatar.comment > .cu-item .content { position: relative; left: 0; width: auto; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .cu-list.menu-avatar.comment .cu-avatar { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } .cu-list.grid { background-color: #ffffff; text-align: center; } .cu-list.grid > .cu-item { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding: 20rpx 0 30rpx; -webkit-transition-duration: 0s; -o-transition-duration: 0s; transition-duration: 0s; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .cu-list.grid > .cu-item:after { position: absolute; top: 0; left: 0; -webkit-box-sizing: border-box; box-sizing: border-box; width: 200%; height: 200%; border-right: 1rpx solid rgba(0, 0, 0, 0.1); border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); border-radius: inherit; content: ' '; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; pointer-events: none; } .cu-list.grid > .cu-item text { display: block; margin-top: 10rpx; color: #888; font-size: 26rpx; line-height: 40rpx; } .cu-list.grid > .cu-item [class*='cuIcon-'] { position: relative; display: block; margin-top: 20rpx; width: 100%; font-size: 48rpx; } .cu-list.grid > .cu-item .cu-tag { right: auto; left: 50%; margin-left: 20rpx; } .cu-list.grid > .cu-item.no-border { padding: 20rpx 10rpx; } .cu-list.grid > .cu-item.no-border > .cu-item { padding-top: 10rpx; padding-bottom: 20rpx; } .cu-list.grid > .cu-item.no-border > .cu-item:after { border: none; } .cu-list.grid.col-3 > .cu-item:nth-child(3n):after, .cu-list.grid.col-4 > .cu-item:nth-child(4n):after, .cu-list.grid.col-5 > .cu-item:nth-child(5n):after { border-right-width: 0; } .cu-list.card-menu { overflow: hidden; margin-right: 30rpx; margin-left: 30rpx; border-radius: 20rpx; } /* ================== 操作条 ==================== */ .cu-bar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; position: relative; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; min-height: 100rpx; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; } .cu-bar .action { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; height: 100%; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 100%; } .cu-bar .action.border-title { position: relative; top: -10rpx; } .cu-bar .action.border-title text[class*='bg-']:last-child { position: absolute; bottom: -0.5rem; min-width: 2rem; height: 6rpx; left: 0; } .cu-bar .action.sub-title { position: relative; top: -0.2rem; } .cu-bar .action.sub-title text { position: relative; z-index: 1; } .cu-bar .action.sub-title text[class*='bg-']:last-child { position: absolute; display: inline-block; bottom: -0.2rem; border-radius: 6rpx; width: 100%; height: 0.6rem; left: 0.6rem; opacity: 0.3; z-index: 0; } .cu-bar .action.sub-title text[class*='text-']:last-child { position: absolute; display: inline-block; bottom: -0.7rem; left: 0.5rem; opacity: 0.2; z-index: 0; text-align: right; font-weight: 900; font-size: 36rpx; } .cu-bar .action:first-child { margin-left: 30rpx; font-size: 30rpx; } .cu-bar .action:first-child > text[class*='cuIcon-'] { margin-left: -0.3em; margin-right: 0.3em; } .cu-bar .action:last-child { margin-right: 30rpx; } .cu-bar .action text.text-cut { text-align: left; width: 100%; } .cu-bar .action > text[class*='cuIcon-'], .cu-bar .action > view[class*='cuIcon-'] { font-size: 36rpx; } .cu-bar .action > text[class*='cuIcon-'] + text[class*='cuIcon-'] { margin-left: 0.5em; } .cu-bar .justify-center .action.border-title text:last-child, .cu-bar .justify-center .action.sub-title text:last-child { left: 0; right: 0; margin: auto; text-align: center; } .cu-bar .cu-avatar:first-child { margin-left: 20rpx; } .cu-bar .content { position: absolute; text-align: center; width: calc(100% - 340rpx); left: 0; right: 0; bottom: 0; top: 0; margin: auto; height: 60rpx; font-size: 32rpx; line-height: 60rpx; cursor: none; pointer-events: none; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .cu-bar.ios .content { bottom: 7rpx; height: 30rpx; font-size: 32rpx; line-height: 30rpx; } .cu-bar.btn-group { -webkit-justify-content: space-around; -ms-flex-pack: distribute; justify-content: space-around; } .cu-bar.btn-group button { padding: 20rpx 32rpx; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0 20rpx; max-width: 50%; } .cu-bar .search-form { background-color: #f5f5f5; line-height: 64rpx; height: 64rpx; font-size: 24rpx; color: #666; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0 20rpx; } .cu-bar .search-form + .action { margin-right: 20rpx; } .cu-bar .search-form input { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding-right: 20rpx; height: 64rpx; line-height: 64rpx; font-size: 26rpx; } .cu-bar .search-form [class*='cuIcon-'] { margin: 0 0.5em 0 0.8em; } .cu-bar .search-form [class*='cuIcon-']::before { top: 0; } .cu-bar.foot { position: fixed; width: 100%; bottom: 0; z-index: 1024; -webkit-box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); } .cu-bar.tabbar { padding: 0; height: calc(100rpx + env(safe-area-inset-bottom) / 2); padding-bottom: calc(env(safe-area-inset-bottom) / 2); } .cu-bar.tabbar.shadow { -webkit-box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); } .cu-bar.tabbar .action { font-size: 22rpx; position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: center; padding: 0; display: block; height: auto; line-height: 1; margin: 0; background-color: inherit; overflow: initial; } .cu-bar.tabbar .action.add-action { position: relative; z-index: 2; padding-top: 50rpx; } .cu-bar.tabbar .action.add-action [class*='cuIcon-'] { position: absolute; width: 70rpx; z-index: 2; height: 70rpx; border-radius: 50%; line-height: 70rpx; font-size: 50rpx; top: -35rpx; left: 0; right: 0; margin: auto; padding: 0; } .cu-bar.tabbar .action.add-action::after { content: ''; position: absolute; width: 100rpx; height: 100rpx; top: -50rpx; left: 0; right: 0; margin: auto; -webkit-box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08); box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08); border-radius: 50rpx; background-color: inherit; z-index: 0; } .cu-bar.tabbar .action.add-action::before { content: ''; position: absolute; width: 100rpx; height: 30rpx; bottom: 30rpx; left: 0; right: 0; margin: auto; background-color: inherit; z-index: 1; } .cu-bar.tabbar .action .cuIcon-cu-image { margin: 0 auto; } .cu-bar.tabbar .action .cuIcon-cu-image image { width: 50rpx; height: 50rpx; display: inline-block; } .cu-bar.tabbar .action [class*='cuIcon-'] { width: 100rpx; position: relative; display: block; height: auto; margin: 0 auto 10rpx; text-align: center; font-size: 40rpx; } .cu-bar.tabbar.shop .action { width: 140rpx; -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } .cu-bar.tabbar .btn-group { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: space-around; -ms-flex-pack: distribute; justify-content: space-around; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; padding: 0 10rpx; } .cu-bar.tabbar button.action::after { border: 0; } .cu-bar.tabbar .submit { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; text-align: center; position: relative; -webkit-box-flex: 2; -webkit-flex: 2; -ms-flex: 2; flex: 2; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } .cu-bar.tabbar .submit:last-child { -webkit-box-flex: 2.6; -webkit-flex: 2.6; -ms-flex: 2.6; flex: 2.6; } .cu-bar.tabbar .submit + .submit { -webkit-box-flex: 2; -webkit-flex: 2; -ms-flex: 2; flex: 2; } .cu-bar.tabbar.border .action::before { content: ' '; width: 200%; height: 200%; position: absolute; top: 0; left: 0; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; border-right: 1rpx solid rgba(0, 0, 0, 0.1); z-index: 3; } .cu-bar.tabbar.border .action:last-child:before { display: none; } .cu-bar.input { padding-right: 20rpx; background-color: #ffffff; } .cu-bar.input input { overflow: initial; line-height: 64rpx; height: 64rpx; min-height: 64rpx; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 30rpx; margin: 0 20rpx; } .cu-bar.input input + .action { margin-right: 20rpx; margin-left: 0; } .cu-bar.input .action { margin-left: 20rpx; } .cu-bar.input .action [class*='cuIcon-'] { font-size: 48rpx; } .cu-bar.input .action:first-child [class*='cuIcon-'] { margin-left: 0; } .cu-bar.fixed, .nav.fixed { position: fixed; width: 100%; top: 0; z-index: 1024; -webkit-box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); } .cu-tabbar-height { min-height: 100rpx; height: calc(100rpx + env(safe-area-inset-bottom) / 2); } .cu-custom { display: block; position: relative; } .cu-custom .cu-bar { min-height: 0; padding-right: 200rpx; -webkit-box-shadow: 0 0 0; box-shadow: 0 0 0; z-index: 9999; } .cu-custom .cu-bar .content { width: calc(100% - 440rpx); } .cu-custom .cu-bar .content image { height: 60rpx; width: 240rpx; } .cu-custom .cu-bar .border-custom { position: relative; background: rgba(0, 0, 0, 0.15); border-radius: 1000rpx; height: 30rpx; } .cu-custom .cu-bar .border-custom::after { content: ' '; width: 200%; height: 200%; position: absolute; top: 0; left: 0; border-radius: inherit; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; pointer-events: none; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1rpx solid #ffffff; opacity: 0.5; } .cu-custom .cu-bar .border-custom::before { content: ' '; width: 1rpx; height: 110%; position: absolute; top: 22.5%; left: 0; right: 0; margin: auto; -webkit-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; pointer-events: none; -webkit-box-sizing: border-box; box-sizing: border-box; opacity: 0.6; background-color: #ffffff; } .cu-custom .cu-bar .border-custom text { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1;