From ec50ad8a7b0acce6e05515bdfc55a809be9839aa Mon Sep 17 00:00:00 2001 From: Weilanwl <1273753708@qq.com> Date: Thu, 27 Dec 2018 23:59:12 +0800 Subject: [PATCH] =?UTF-8?q?v2.0.2=20(=E5=8D=95=E4=BD=8D=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E4=BD=BF=E7=94=A8rpx)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2.0.2 (单位全局使用rpx) --- demo/pages/basics/home/home.js | 25 +- demo/pages/component/form/form.wxml | 2 +- demo/pages/component/swiper/swiper.js | 2 - demo/pages/include/custom/custom.js | 23 - demo/pages/include/custom/custom.json | 4 - demo/pages/include/custom/custom.wxml | 0 demo/pages/include/custom/custom.wxss | 1 - demo/pages/plugin/home/home.wxss | 30 +- demo/pages/test.js | 17 - demo/pages/test.json | 3 - demo/pages/test.wxml | 13 - demo/pages/test.wxss | 38 - template/app.wxss | 2 +- template/colorui-px.wxss | 2955 ++++++++++++++++++++++++ template/colorui-rpx.wxss | 2969 +++++++++++++++++++++++++ 15 files changed, 5965 insertions(+), 119 deletions(-) delete mode 100644 demo/pages/include/custom/custom.js delete mode 100644 demo/pages/include/custom/custom.json delete mode 100644 demo/pages/include/custom/custom.wxml delete mode 100644 demo/pages/include/custom/custom.wxss delete mode 100644 demo/pages/test.js delete mode 100644 demo/pages/test.json delete mode 100644 demo/pages/test.wxss create mode 100644 template/colorui-px.wxss create mode 100644 template/colorui-rpx.wxss diff --git a/demo/pages/basics/home/home.js b/demo/pages/basics/home/home.js index 1129d51..fdf3a4e 100644 --- a/demo/pages/basics/home/home.js +++ b/demo/pages/basics/home/home.js @@ -12,7 +12,30 @@ Page({ { title: '边框阴影', name: 'shadow', color: 'olive', icon: 'copy' }, { title: '加载', name: 'loading', color: 'green', icon: 'loading2' }, ], - }, + }, + onLoad() { + let that = this; + // 获取用户信息 + wx.getSetting({ + success: res => { + if (!res.authSetting['scope.userInfo']) { + wx.redirectTo({ + url: '/pages/auth/auth' + }) + } + } + }) + }, + showModal(e) { + this.setData({ + modalName: e.currentTarget.dataset.target + }) + }, + hideModal(e) { + this.setData({ + modalName: null + }) + }, onShareAppMessage(){ return { title: 'ColorUI-高颜值的小程序UI组件库', diff --git a/demo/pages/component/form/form.wxml b/demo/pages/component/form/form.wxml index ec68c64..1b92145 100644 --- a/demo/pages/component/form/form.wxml +++ b/demo/pages/component/form/form.wxml @@ -97,8 +97,8 @@ + 定义图标 - 方形开关 diff --git a/demo/pages/component/swiper/swiper.js b/demo/pages/component/swiper/swiper.js index 85964d0..fe22361 100644 --- a/demo/pages/component/swiper/swiper.js +++ b/demo/pages/component/swiper/swiper.js @@ -46,7 +46,6 @@ Page({ // 初始化towerSwiper towerSwiper(name) { let list = this.data[name]; - for (let i = 0; i < list.length; i++) { list[i].zIndex = parseInt(list.length / 2) + 1 - Math.abs(i - parseInt(list.length / 2)) list[i].mLeft = i - parseInt(list.length / 2) @@ -99,6 +98,5 @@ Page({ towerList: list }) } - console.log(list); }, }); \ No newline at end of file diff --git a/demo/pages/include/custom/custom.js b/demo/pages/include/custom/custom.js deleted file mode 100644 index 55f7710..0000000 --- a/demo/pages/include/custom/custom.js +++ /dev/null @@ -1,23 +0,0 @@ -// pages/include/custom/custom.js -Component({ - /** - * 组件的属性列表 - */ - properties: { - - }, - - /** - * 组件的初始数据 - */ - data: { - - }, - - /** - * 组件的方法列表 - */ - methods: { - - } -}) diff --git a/demo/pages/include/custom/custom.json b/demo/pages/include/custom/custom.json deleted file mode 100644 index e8cfaaf..0000000 --- a/demo/pages/include/custom/custom.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/demo/pages/include/custom/custom.wxml b/demo/pages/include/custom/custom.wxml deleted file mode 100644 index e69de29..0000000 diff --git a/demo/pages/include/custom/custom.wxss b/demo/pages/include/custom/custom.wxss deleted file mode 100644 index 65f5bd3..0000000 --- a/demo/pages/include/custom/custom.wxss +++ /dev/null @@ -1 +0,0 @@ -@import "../../../app.wxss"; \ No newline at end of file diff --git a/demo/pages/plugin/home/home.wxss b/demo/pages/plugin/home/home.wxss index 49bbdc1..d870044 100644 --- a/demo/pages/plugin/home/home.wxss +++ b/demo/pages/plugin/home/home.wxss @@ -1,41 +1,41 @@ bar .content image{ - height: 30px; - width: 120px; + height: 60rpx; + width: 240rpx; } .cardTitle{ color: #fff; - padding: 45px 30px; - font-size: 20px; + padding: 90rpx 60rpx; + font-size: 40rpx; font-weight: 300; transform: skew(-10deg, 0deg); position: relative; - text-shadow: 0px 0px 3px rgba(0,0,0,0.3) + text-shadow: 0px 0px 6rpx rgba(0,0,0,0.3) } .cardTitle::before{ content: ""; position: absolute; - width: 30px; - height: 3px; - border-radius: 10px; + width: 60rpx; + height: 6rpx; + border-radius: 20rpx; background-color: #fff; display: block; - top: 30px; - left: 25px; + top: 60rpx; + left: 50rpx; transform: skew(10deg, 0deg); } .cardTitle::after{ content: ""; position: absolute; - width: 70px; - border-radius: 3px; - height: 12px; + width: 140rpx; + border-radius: 6rpx; + height: 24rpx; background-color: #fff; display: block; - bottom: 38px; - left: 45px; + bottom: 76rpx; + left: 90rpx; transform: skew(10deg, 0deg); opacity: 0.1; } \ No newline at end of file diff --git a/demo/pages/test.js b/demo/pages/test.js deleted file mode 100644 index 14837bf..0000000 --- a/demo/pages/test.js +++ /dev/null @@ -1,17 +0,0 @@ -const app = getApp(); -Page({ - data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - ColorList: app.globalData.ColorList, - scrollLeft: 0, - TabCur: 0, - }, - tabSelect(e) { - console.log(e); - this.setData({ - TabCur: e.currentTarget.dataset.id, - scrollLeft: (e.currentTarget.dataset.id - 1) * 60 - }) - }, -}); diff --git a/demo/pages/test.json b/demo/pages/test.json deleted file mode 100644 index 8835af0..0000000 --- a/demo/pages/test.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/demo/pages/test.wxml b/demo/pages/test.wxml index d0871f4..e69de29 100644 --- a/demo/pages/test.wxml +++ b/demo/pages/test.wxml @@ -1,13 +0,0 @@ - - - - 测试 - - - - - - - 测试页 - - diff --git a/demo/pages/test.wxss b/demo/pages/test.wxss deleted file mode 100644 index ed90687..0000000 --- a/demo/pages/test.wxss +++ /dev/null @@ -1,38 +0,0 @@ -.ABox { - color: #666; - padding: 15px; - border-radius: 6px; - width: 45%; - margin: 0 2.5% 20px; - background-image: url(https://image.weilanwl.com/color2.0/cardBg.png); - background-size: cover; - background-position: center; - position: relative; - z-index: 1; -} - -.ABox::after { - content: ""; - position: absolute; - z-index: -1; - background-color: inherit; - width: 100%; - height: 100%; - left: 0; - bottom: -10%; - border-radius: 5px; - opacity: 0.2; - transform: scale(0.9, 0.9); -} -.Box { - color: #666; - padding: 15px; - border-radius: 6px; - width: 45%; - margin: 0 2.5% 20px; - background-image: url(https://image.weilanwl.com/color2.0/cardBg.png); - background-size: cover; - background-position: center; - position: relative; - z-index: 1; -} \ No newline at end of file diff --git a/template/app.wxss b/template/app.wxss index d4433aa..00de099 100644 --- a/template/app.wxss +++ b/template/app.wxss @@ -1,2 +1,2 @@ @import "icon.wxss"; -@import "colorui.wxss"; +@import "colorui-rpx.wxss"; diff --git a/template/colorui-px.wxss b/template/colorui-px.wxss new file mode 100644 index 0000000..2fef154 --- /dev/null +++ b/template/colorui-px.wxss @@ -0,0 +1,2955 @@ +/* + Color UI v2.0.2 | by 文晓港 + 单位为多种混合(px,rpx,vw,vh,em) + 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + (QQ交流群:240787041) + 文档:http://www.color-ui.com/ +*/ + +/* ================== + 初始化 + ==================== */ + +page { + background: #f1f1f1; + font-size: 14px; + color: #333; + line-height: 1; + font-family: Helvetica Neue, Helvetica, sans-serif; +} + +view, text, custom, tag, capsule, scroll-view, swiper, button, timeline, form, +form-group, info, bar, progress-bar, input, textarea, label, navigator, list, +item, chat, image { + box-sizing: border-box; +} + +/* ================== + 布局 + ==================== */ + +/* -- flex弹性布局 -- */ + +.flex { + display: flex; +} + +.basis-xs { + flex-basis: 20%; +} + +.basis-sm { + flex-basis: 40%; +} + +.basis-df { + flex-basis: 50%; +} + +.basis-lg { + flex-basis: 60%; +} + +.basis-xl { + flex-basis: 80%; +} + +.flex-sub { + flex: 1; +} + +.flex-twice { + flex: 2; +} + +.flex-treble { + flex: 3; +} + +.flex-direction { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.align-start { + align-items: flex-start; +} + +.align-end { + align-items: flex-end; +} + +.align-center { + align-items: center; +} + +.align-stretch { + align-items: stretch; +} + +.self-start { + align-self: flex-start; +} + +.self-center { + align-self: flex-center; +} + +.self-end { + align-self: flex-end; +} + +.self-stretch { + align-self: stretch; +} + +.align-stretch { + align-items: stretch; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.justify-around { + justify-content: space-around; +} + +/* grid布局 */ + +.grid { + display: flex; + flex-wrap: wrap; +} + +.grid.grid-square { + margin-bottom: -10px; + overflow: hidden; +} + +.grid.grid-square tag { + position: absolute; + right: 0; + top: 0; + border-bottom-left-radius: 3px; +} + +.grid.grid-square view> icon, .grid.grid-square item> icon { + font-size: 26px; + position: absolute; + color: #aaa; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.grid.grid-square view, .grid.grid-square item { + margin-right: 10px; + margin-bottom: 10px; + border-radius: 3px; + position: relative; + overflow: hidden; +} + +.grid.col-1.grid-square view, .grid.col-1.grid-square item { + padding-bottom: 100%; + height: 0; + margin-right: 0; +} + +.grid.col-2.grid-square view, .grid.col-2.grid-square item { + padding-bottom: calc((100% - 10px)/2); + height: 0; + width: calc((100% - 10px)/2); +} + +.grid.col-2.grid-square view:nth-child(2n), +.grid.col-2.grid-square item:nth-child(2n) { + margin-right: 0; +} + +.grid.col-3.grid-square view, .grid.col-3.grid-square item { + padding-bottom: calc((100% - 20px)/3); + height: 0; + width: calc((100% - 20px)/3); +} + +.grid.col-3.grid-square view:nth-child(3n), +.grid.col-3.grid-square item:nth-child(3n) { + margin-right: 0; +} + +.grid.col-4.grid-square view, .grid.col-4.grid-square item { + padding-bottom: calc((100% - 30px)/4); + height: 0; + width: calc((100% - 30px)/4); +} + +.grid.col-4.grid-square view:nth-child(4n), +.grid.col-4.grid-square item:nth-child(4n) { + margin-right: 0; +} + +.grid.col-5.grid-square view, .grid.col-5.grid-square item { + padding-bottom: calc((100% - 40px)/5); + height: 0; + width: calc((100% - 40px)/5); +} + +.grid.col-1>item, .grid.col-1>view { + width: 100%; +} + +.grid.col-2>item, .grid.col-2>view { + width: 50%; +} + +.grid.col-3>item, .grid.col-3>view { + width: 33.33%; +} + +.grid.col-4>item, .grid.col-4>view { + width: 25%; +} + +.grid.col-5>item, .grid.col-5>view { + width: 20%; +} + +/* -- 内外边距 -- */ + +.margin-0 { + margin: 0 !important; +} + +.margin-xs { + margin: 5px; +} + +.margin-sm { + margin: 10px; +} + +.margin { + margin: 15px; +} + +.margin-lg { + margin: 20px; +} + +.margin-xl { + margin: 25px; +} + +.margin-top-xs { + margin-top: 5px; +} + +.margin-top-sm { + margin-top: 10px; +} + +.margin-top { + margin-top: 15px; +} + +.margin-top-lg { + margin-top: 20px; +} + +.margin-top-xl { + margin-top: 25px; +} + +.margin-right-xs { + margin-right: 5px; +} + +.margin-right-sm { + margin-right: 10px; +} + +.margin-right { + margin-right: 15px; +} + +.margin-right-lg { + margin-right: 20px; +} + +.margin-right-xl { + margin-right: 25px; +} + +.margin-bottom-xs { + margin-bottom: 5px; +} + +.margin-bottom-sm { + margin-bottom: 10px; +} + +.margin-bottom { + margin-bottom: 15px; +} + +.margin-bottom-lg { + margin-bottom: 20px; +} + +.margin-bottom-xl { + margin-bottom: 25px; +} + +.margin-left-xs { + margin-left: 5px; +} + +.margin-left-sm { + margin-left: 10px; +} + +.margin-left { + margin-left: 15px; +} + +.margin-left-lg { + margin-left: 20px; +} + +.margin-left-xl { + margin-left: 25px; +} + +.margin-lr-xs { + margin-left: 5px; + margin-right: 5px; +} + +.margin-lr-sm { + margin-left: 10px; + margin-right: 10px; +} + +.margin-lr { + margin-left: 15px; + margin-right: 15px; +} + +.margin-lr-lg { + margin-left: 20px; + margin-right: 20px; +} + +.margin-lr-xl { + margin-left: 25px; + margin-right: 25px; +} + +.margin-tb-xs { + margin-top: 5px; + margin-bottom: 5px; +} + +.margin-tb-sm { + margin-top: 10px; + margin-bottom: 10px; +} + +.margin-tb { + margin-top: 15px; + margin-bottom: 15px; +} + +.margin-tb-lg { + margin-top: 20px; + margin-bottom: 20px; +} + +.margin-tb-xl { + margin-top: 25px; + margin-bottom: 25px; +} + +.padding-0 { + padding: 0 !important; +} + +.padding-xs { + padding: 5px; +} + +.padding-sm { + padding: 10px; +} + +.padding { + padding: 15px; +} + +.padding-lg { + padding: 20px; +} + +.padding-xl { + padding: 25px; +} + +.padding-top-xs { + padding-top: 5px; +} + +.padding-top-sm { + padding-top: 10px; +} + +.padding-top { + padding-top: 15px; +} + +.padding-top-lg { + padding-top: 20px; +} + +.padding-top-xl { + padding-top: 25px; +} + +.padding-right-xs { + padding-right: 5px; +} + +.padding-right-sm { + padding-right: 10px; +} + +.padding-right { + padding-right: 15px; +} + +.padding-right-lg { + padding-right: 20px; +} + +.padding-right-xl { + padding-right: 25px; +} + +.padding-bottom-xs { + padding-bottom: 5px; +} + +.padding-bottom-sm { + padding-bottom: 10px; +} + +.padding-bottom { + padding-bottom: 15px; +} + +.padding-bottom-lg { + padding-bottom: 20px; +} + +.padding-bottom-xl { + padding-bottom: 25px; +} + +.padding-left-xs { + padding-left: 5px; +} + +.padding-left-sm { + padding-left: 10px; +} + +.padding-left { + padding-left: 15px; +} + +.padding-left-lg { + padding-left: 20px; +} + +.padding-left-xl { + padding-left: 25px; +} + +.padding-lr-xs { + padding-left: 5px; + padding-right: 5px; +} + +.padding-lr-sm { + padding-left: 10px; + padding-right: 10px; +} + +.padding-lr { + padding-left: 15px; + padding-right: 15px; +} + +.padding-lr-lg { + padding-left: 20px; + padding-right: 20px; +} + +.padding-lr-xl { + padding-left: 25px; + padding-right: 25px; +} + +.padding-tb-xs { + padding-top: 5px; + padding-bottom: 5px; +} + +.padding-tb-sm { + padding-top: 10px; + padding-bottom: 10px; +} + +.padding-tb { + padding-top: 15px; + padding-bottom: 15px; +} + +.padding-tb-lg { + padding-top: 20px; + padding-bottom: 20px; +} + +.padding-tb-xl { + padding-top: 25px; + padding-bottom: 25px; +} + +/* -- 浮动 -- */ + +.cf::after, .cf::before { + content: " "; + display: table; +} + +.cf::after { + clear: both; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +/* ================== + 图片 + ==================== */ + +image { + max-width: 100%; + display: inline-block; + position: relative; + z-index: 0; +} + +image.loading::before { + content: ""; + background: #f5f5f5; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: -2; +} + +image.loading::after { + content: "\e7f1"; + font-family: "iconfont"; + position: absolute; + top: 0; + left: 0; + width: 16px; + height: 16px; + line-height: 16px; + right: 0; + bottom: 0; + z-index: -1; + font-size: 16px; + margin: auto; + color: #ccc; + -webkit-animation: icon-spin 2s infinite linear; + animation: icon-spin 2s infinite linear; + display: block; +} + +image.response { + width: 100%; +} + +/* ================== + 开关 + ==================== */ + +switch, checkbox, radio { + position: relative; +} + +switch::after { + font-family: "iconfont" !important; + content: "\e645"; + position: absolute; + color: #fff; + top: 50%; + margin-top: -8px; + left: 10px; + font-size: 16px; + line-height: 16px; + pointer-events: none; + transform: scale(0, 0); + transition: all 0.3s ease-in-out 0s; +} + +switch[checked]::after { + transform: scale(1, 1); +} + +switch::before { + font-family: "iconfont" !important; + content: "\e646"; + position: absolute; + color: #fff; + top: 50%; + margin-top: -8px; + right: 10px; + font-size: 16px; + line-height: 16px; + pointer-events: none; + transform: scale(1, 1); + transition: all 0.3s ease-in-out 0s; + z-index: 9; +} + +radio::before, checkbox::before { + font-family: "iconfont" !important; + content: "\e645"; + position: absolute; + color: #fff; + top: 50%; + margin-top: -8px; + right: 5px; + font-size: 16px; + line-height: 16px; + pointer-events: none; + transform: scale(1, 1); + transition: all 0.3s ease-in-out 0s; + z-index: 9; +} + +switch[checked]::before { + transform: scale(0, 0); +} + +switch .wx-switch-input { + background: #aaa !important; + border-color: #aaa; + padding: 0 30px; + margin: 0; +} + +radio-group { + display: inline-block; +} + +radio .wx-radio-input, checkbox .wx-checkbox-input { + margin: 0; + width: 24px; + height: 24px; +} + +checkbox.round .wx-checkbox-input { + border-radius: 50px; +} + +switch .wx-switch-input-checked::after { + margin-left: 10px; + box-shadow: none; +} + +switch.radius .wx-switch-input::after, switch.radius .wx-switch-input, +switch.radius .wx-switch-input::before { + border-radius: 5px; +} + +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: transparent; + display: block; + position: absolute; + width: 8px; + height: 8px; + z-index: 999; + top: 0px; + left: 0px; + right: 0; + bottom: 0; + margin: auto; + border-radius: 100px; + border: 8px solid #fff; +} + +switch.sm, checkbox.sm, radio.sm { + transform: scale(0.8); +} + +.switch-sex::after { + content: "\e71c"; +} + +.switch-sex::before { + content: "\e71a"; +} + +.switch-sex .wx-switch-input { + background: #e54d42 !important; + border-color: #e54d42; +} + +.switch-sex[checked] .wx-switch-input { + background: #0081ff !important; + border-color: #0081ff !important; +} + +/* ================== + 背景 + ==================== */ + +.line-red::after, .lines-red::after, switch.red[checked] .wx-switch-input, +checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { + border-color: #e54d42 !important; +} + +.line-orange::after, .lines-orange::after, +switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + border-color: #f37b1d !important; +} + +.line-yellow::after, .lines-yellow::after, +switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + border-color: #fbbd08 !important; +} + +.line-olive::after, .lines-olive::after, switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { + border-color: #8dc63f !important; +} + +.line-green::after, .lines-green::after, 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; +} + +.line-cyan::after, .lines-cyan::after, switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { + border-color: #1cbbb4 !important; +} + +.line-blue::after, .lines-blue::after, switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { + border-color: #0081ff !important; +} + +.line-purple::after, .lines-purple::after, +switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + border-color: #6739b6 !important; +} + +.line-mauve::after, .lines-mauve::after, switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { + border-color: #9c26b0 !important; +} + +.line-pink::after, .lines-pink::after, switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { + border-color: #e03997 !important; +} + +.line-brown::after, .lines-brown::after, switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { + border-color: #a5673f !important; +} + +.line-grey::after, .lines-grey::after, switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { + border-color: #8799a3 !important; +} + +.line-gray::after, .lines-gray::after, switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { + border-color: #aaa !important; +} + +.line-black::after, .lines-black::after, switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { + border-color: #333 !important; +} + +.line-white::after, .lines-white::after, switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { + border-color: #fff !important; +} + +.bg-red, switch.red[checked] .wx-switch-input, +checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { + background-color: #e54d42 !important; + color: #fff !important; +} + +.bg-orange, switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + background-color: #f37b1d !important; + color: #fff !important; +} + +.bg-yellow, switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + background-color: #fbbd08 !important; + color: #333 !important; +} + +.bg-olive, switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { + background-color: #8dc63f !important; + color: #fff !important; +} + +.bg-green, 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: #fff !important; +} + +.bg-cyan, switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { + background-color: #1cbbb4 !important; + color: #fff !important; +} + +.bg-blue, switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { + background-color: #0081ff !important; + color: #fff !important; +} + +.bg-purple, switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + background-color: #6739b6 !important; + color: #fff !important; +} + +.bg-mauve, switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { + background-color: #9c26b0 !important; + color: #fff !important; +} + +.bg-pink, switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { + background-color: #e03997 !important; + color: #fff !important; +} + +.bg-brown, switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { + background-color: #a5673f !important; + color: #fff !important; +} + +.bg-grey, switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { + background-color: #8799a3 !important; + color: #fff !important; +} + +.bg-gray, switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { + background-color: #f0f0f0 !important; + color: #666 !important; +} + +.bg-black, switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { + background-color: #333 !important; + color: #fff !important; +} + +.bg-white, switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { + background-color: #fff !important; + color: #666; +} + +.bg-shadeTop { + background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01)); + color: #fff; +} + +.bg-shadeBottom { + background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1)); + color: #fff; +} + +.none-bg, .line-white, .lines-white { + background-color: transparent !important; +} + +.bg-red.light { + color: #e54d42 !important; + background: #fadbd9 !important; +} + +.bg-orange.light { + color: #f37b1d !important; + background: #fde6d2 !important; +} + +.bg-yellow.light { + color: #fbbd08 !important; + background: #fef2ce !important; +} + +.bg-olive.light { + color: #8dc63f !important; + background: #e8f4d9 !important; +} + +.bg-green.light { + color: #39b54a !important; + background: #d7f0db !important; +} + +.bg-cyan.light { + color: #1cbbb4 !important; + background: #d2f1f0 !important; +} + +.bg-blue.light { + color: #0081ff !important; + background: #cce6ff !important; +} + +.bg-purple.light { + color: #6739b6 !important; + background: #e1d7f0 !important; +} + +.bg-mauve.light { + color: #9c26b0 !important; + background: #ebd4ef !important; +} + +.bg-pink.light { + color: #e03997 !important; + background: #f9d7ea !important; +} + +.bg-brown.light { + color: #a5673f !important; + background: #ede1d9 !important; +} + +.bg-grey.light { + color: #8799a3 !important; + background: #e7ebed !important; +} + +.bg-gray.light { + color: #666 !important; + background: #fadbd9 !important; +} + +.bg-gray.light { + color: #888 !important; + background: #f1f1f1 !important; +} + +.gradual-red { + background-image: linear-gradient(45deg, #f43f3b, #ec008c) !important; + color: #fff !important; +} + +.gradual-orange { + background-image: linear-gradient(45deg, #ff9700, #ed1c24) !important; + color: #fff !important; +} + +.gradual-green { + background-image: linear-gradient(45deg, #39b54a, #8dc63f) !important; + color: #fff !important; +} + +.gradual-purple { + background-image: linear-gradient(45deg, #9000ff, #5e00ff) !important; + color: #fff !important; +} + +.gradual-pink { + background-image: linear-gradient(45deg, #ec008c, #6739b6) !important; + color: #fff !important; +} + +.gradual-blue { + background-image: linear-gradient(45deg, #0081ff, #1cbbb4) !important; + color: #fff !important; +} + +button.shadow[class*="-red"] { + box-shadow: 3px 3px 4px rgba(204, 69, 59, 0.2) !important; +} + +button.shadow[class*="-orange"] { + box-shadow: 3px 3px 4px rgba(217, 109, 26, 0.2) !important; +} + +button.shadow[class*="-yellow"] { + box-shadow: 3px 3px 4px rgba(224, 170, 7, 0.2) !important; +} + +button.shadow[class*="-olive"] { + box-shadow: 3px 3px 4px rgba(124, 173, 55, 0.2) !important; +} + +button.shadow[class*="-green"] { + box-shadow: 3px 3px 4px rgba(48, 156, 63, 0.2) !important; +} + +button.shadow[class*="-cyan"] { + box-shadow: 3px 3px 4px rgba(28, 187, 180, 0.2) !important; +} + +button.shadow[class*="-blue"] { + box-shadow: 3px 3px 4px rgba(0, 102, 204, 0.2) !important; +} + +button.shadow[class*="-purple"] { + box-shadow: 3px 3px 4px rgba(88, 48, 156, 0.2) !important; +} + +button.shadow[class*="-mauve"] { + box-shadow: 3px 3px 4px rgba(133, 33, 150, 0.2) !important; +} + +button.shadow[class*="-pink"] { + box-shadow: 3px 3px 4px rgba(199, 50, 134, 0.2) !important; +} + +button.shadow[class*="-brown"] { + box-shadow: 3px 3px 4px rgba(140, 88, 53, 0.2) !important; +} + +button.shadow[class*="-grey"] { + box-shadow: 3px 3px 4px rgba(114, 130, 138, 0.2) !important; +} + +button.shadow[class*="-gray"] { + box-shadow: 3px 3px 4px rgba(114, 130, 138, 0.2) !important; +} + +button.shadow[class*="-black"] { + box-shadow: 3px 3px 4px rgba(26, 26, 26, 0.2) !important; +} + +.bg-img { + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} + +.bg-mask { + background-color: #333; + position: relative; +} + +.bg-mask::after { + content: ""; + border-radius: inherit; + width: 100%; + height: 100%; + display: block; + background-color: rgba(0, 0, 0, 0.5); + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; +} + +.bg-mask view, .bg-mask cover-view { + z-index: 5; + position: relative; +} + +.bg-mask>cover-view { + background-color: rgba(0, 0, 0, 0.5); +} + +.bg-video { + position: relative; +} + +.bg-video video { + display: block; + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; + position: absolute; + top: 0; + z-index: 0; + pointer-events: none; +} + +/* ================== + 文本 + ==================== */ + +.text-xs { + font-size: 10px; +} + +.text-sm { + font-size: 12px; +} + +.text-df { + font-size: 14px; +} + +.text-lg { + font-size: 16px; +} + +.text-xl { + font-size: 18px; +} + +.text-xxl { + font-size: 22px; +} + +.text-sl { + font-size: 40px; +} + +.text-xsl { + font-size: 60px; +} + +.text-Abc { + text-transform: Capitalize; +} + +.text-ABC { + text-transform: Uppercase; +} + +.text-abc { + text-transform: Lowercase; +} + +.text-price::before { + content: "¥"; + font-size: 80%; + margin-right: 2px; +} + +.text-cut { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.text-bold { + font-weight: bold; +} + +.text-center { + text-align: center; +} + +.text-content { + line-height: 1.6; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-red, .line-red, .lines-red { + color: #e54d42 !important; +} + +.text-orange, .line-orange, .lines-orange { + color: #f37b1d !important; +} + +.text-yellow, .line-yellow, .lines-yellow { + color: #fbbd08 !important; +} + +.text-olive, .line-olive, .lines-olive { + color: #8dc63f !important; +} + +.text-green, .line-green, .lines-green { + color: #39b54a !important; +} + +.text-cyan, .line-cyan, .lines-cyan { + color: #1cbbb4 !important; +} + +.text-blue, .line-blue, .lines-blue { + color: #0081ff !important; +} + +.text-purple, .line-purple, .lines-purple { + color: #6739b6 !important; +} + +.text-mauve, .line-mauve, .lines-mauve { + color: #9c26b0 !important; +} + +.text-pink, .line-pink, .lines-pink { + color: #e03997 !important; +} + +.text-brown, .line-brown, .lines-brown { + color: #a5673f !important; +} + +.text-grey, .line-grey, .lines-grey { + color: #8799a3 !important; +} + +.text-gray, .line-gray, .lines-gray { + color: #aaa !important; +} + +.text-black, .line-black, .lines-black { + color: #333 !important; +} + +.text-white, .line-white, .lines-white { + color: #fff !important; +} + +/* ================== + 边框 + ==================== */ + +/* -- 实线 -- */ + +.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; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + box-sizing: border-box; +} + +.solid::after { + border: 1px solid rgba(0, 0, 0, 0.1); +} + +.solid-top::after { + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.solid-right::after { + border-right: 1px solid rgba(0, 0, 0, 0.1); +} + +.solid-bottom::after { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} + +.solid-left::after { + border-left: 1px solid rgba(0, 0, 0, 0.1); +} + +.solids::after { + border: 4rpx solid #eee; +} + +.solids-top::after { + border-top: 4rpx solid #eee; +} + +.solids-right::after { + border-right: 4rpx solid #eee; +} + +.solids-bottom::after { + border-bottom: 4rpx solid #eee; +} + +.solids-left::after { + border-left: 4rpx solid #eee; +} + +/* -- 虚线 -- */ + +.dashed::after { + border: 1px dashed #ddd; +} + +.dashed-top::after { + border-top: 1px dashed #ddd; +} + +.dashed-right::after { + border-right: 1px dashed #ddd; +} + +.dashed-bottom::after { + border-bottom: 1px dashed #ddd; +} + +.dashed-left::after { + border-left: 1px dashed #ddd; +} + +/* -- 阴影 -- */ + +.shadow { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.shadow-lg { + box-shadow: 0px 20px 50px 0px rgba(0, 0, 0, 0.07); +} + +.shadow-warp { + position: relative; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); +} + +.shadow-warp:before, .shadow-warp:after { + position: absolute; + content: ""; + top: 10px; + bottom: 15px; + left: 10px; + width: 50%; + box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2); + transform: rotate(-3deg); + z-index: -1; +} + +.shadow-warp:after { + right: 10px; + left: auto; + transform: rotate(3deg); +} + +.shadow-blur { + position: relative; +} + +.shadow-blur::before { + content: ""; + display: block; + background: inherit; + filter: blur(5px); + position: absolute; + width: 100%; + height: 100%; + top: 5px; + left: 5px; + z-index: -1; + opacity: 0.4; + transform-origin: 0 0; + border-radius: inherit; + transform: scale(1, 1); +} + +/* ================== + 按钮 + ==================== */ + +.round, button.icon { + border-radius: 5000px !important; +} + +.radius { + border-radius: 3px !important; +} + +button { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + padding: 10px 15px 8px; + font-size: 14px; + line-height: 1; + text-align: center; + text-decoration: none; + border-radius: 3px; + overflow: visible; + color: #666; + background-color: #fff !important; + margin-left: initial; + transform: translate(0px, 0px); + margin-right: initial; +} + +button::after, tag[class*="line-"]::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border: 1rpx solid rgba(0, 0, 0, 0.2); + transform: scale(0.5); + transform-origin: 0 0; + box-sizing: border-box; + border-radius: inherit; + z-index: 1; + pointer-events: none; +} + +button[class*="line"]::after, tag.radius[class*="line"]::after { + border-radius: 6px; +} + +button.round[class*="line"]::after, tag.round[class*="line"]::after { + border-radius: 500px; +} + +button[class*="lines"]::after { + border: 3px solid rgba(0, 0, 0, 0.2); +} + +button[class*="bg-"]::after { + display: none; +} + +button.sm { + padding: 7px 10px 5px; + font-size: 12px; +} + +button.lg { + padding: 16px 20px 14px; + font-size: 16px; +} + +button.icon.sm { + width: 28px; + height: 28px; +} + +button.icon { + width: 35px; + height: 35px; + padding: 0; +} + +button.icon.lg { + width: 41px; + height: 41px; +} + +button.shadow-blur::before { + top: 2px; + left: 2px; + filter: blur(3px); + opacity: 0.6; +} + +button.button-hover { + transform: translate(1px, 1px); +} + +.block { + display: block; +} + +button.block { + display: flex; +} + +button[disabled] { + opacity: 0.6; + color: #fff; +} + +/* ================== + 徽章 + ==================== */ + +tag { + font-size: 12px; + color: #666; + vertical-align: middle; + position: relative; + display: inline-flex; + align-items: stretch; + justify-content: center; + box-sizing: border-box; + padding: 6px 7px 5px; + line-height: 1; + background: #fff; + font-family: Helvetica Neue, Helvetica, sans-serif; +} + +tag[class*="line-"]::after { + border-radius: 0; +} + +tag+tag { + margin-left: 5px; +} + +tag.sm { + font-size: 10px; + padding: 5px 6px 3px; +} + +capsule { + display: inline-flex; + vertical-align: middle; +} + +capsule + capsule { + margin-left: 5px; +} + +capsule tag { + margin: 0; +} + +capsule tag[class*="line-"]:last-child::after { + border-left: 0px solid transparent !important; +} + +capsule tag[class*="line-"]:first-child::after { + border-right: 0px solid transparent !important; +} + +capsule.radius tag:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +capsule.radius tag:last-child::after, capsule.radius tag[class*="line-"] { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +capsule.round tag:first-child { + border-top-left-radius: 100px; + border-bottom-left-radius: 100px; + text-indent: 2px; +} + +capsule.round tag:last-child::after, capsule.round tag:last-child { + border-top-right-radius: 100px; + border-bottom-right-radius: 100px; + text-indent: -2px; +} + +tag.badge { + background: #dd514c; + border-radius: 100px; + position: absolute; + top: -5px; + right: -5px; + font-size: 10px; + padding: 3px 5px 2px; + color: #fff; +} + +tag:empty { + padding: 4px; + top: -2px; + right: -2px; +} + +/* ================== + 头像 + ==================== */ + +avatar { + font-variant: small-caps; + margin: 0; + padding: 0; + display: inline-block; + text-align: center; + background: #ccc; + color: #fff; + white-space: nowrap; + position: relative; + width: 32px; + height: 32px; + line-height: 32px; + background-size: cover; + background-position: center; + vertical-align: middle; +} + +avatar text { + position: absolute; + left: 50%; + display: inline-block; + transform-origin: 0 center; + transform: scale(0.75) translateX(-50%); +} + +avatar.sm { + width: 24px; + height: 24px; + line-height: 24px; +} + +avatar > icon { + position: absolute; + left: 50%; + top: 0; + bottom: 0; + margin: auto; + transform-origin: 0 center; + transform: scale(1.2) translateX(-50%); +} + +avatar.sm > icon { + transform: scale(0.75) translateX(-50%); +} + +avatar.lg > icon { + transform: scale(1.75) translateX(-50%); +} + +avatar.xl > icon { + transform: scale(2.2) translateX(-50%); +} + +avatar.lg { + width: 45px; + height: 45px; + line-height: 45px; +} + +avatar.xl { + width: 64px; + height: 64px; + line-height: 64px; +} + +avatar-group { + direction: rtl; + unicode-bidi: bidi-override; + padding: 0 5px 0 20px; + display: inline-block; +} + +avatar-group avatar { + margin-left: -15px; + border: 2px solid #f1f1f1; + vertical-align: middle; +} + +avatar-group avatar.sm { + margin-left: -10px; + border: 1px solid #f1f1f1; +} + +/* ================== + 进度条 + ==================== */ + +progress-bar { + overflow: hidden; + height: 14px; + background-color: #ebeef5; + display: inline-flex; + align-items: center; + width: 100%; +} + +progress-bar+view, progress-bar+text { + line-height: 1; +} + +progress-bar.xs { + height: 5px; +} + +progress-bar.sm { + height: 10px; +} + +progress-bar view { + width: 0; + height: 100%; + align-items: center; + display: flex; + justify-items: flex-end; + justify-content: space-around; + font-size: 10px; + color: #fff; + background: #0081ff; + transition: width 0.6s ease; +} + +progress-bar text { + align-items: center; + display: flex; + font-size: 10px; + color: #666; + text-indent: 5px; +} + +progress-bar.text-progress { + padding-right: 30px; +} + +progress-bar.striped view { + 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: 36px 36px; +} + +progress-bar.active view { + animation: progress-bar-stripes 2s linear infinite; +} + +@keyframes progress-bar-stripes { + from { + background-position: 36px 0; + } + + to { + background-position: 0 0; + } +} + +/* ================== + 加载 + ==================== */ + +load { + display: block; + line-height: 3em; + text-align: center; +} + +load::before { + font-family: "iconfont" !important; + display: inline-block; + margin-right: 3px; +} + +load.loading::before { + content: "\e67a"; + animation: icon-spin 2s infinite linear; +} + +load.loading::after { + content: "加载中..."; +} + +load.over::before { + content: "\e64a"; +} + +load.over::after { + content: "没有更多了"; +} + +load.erro::before { + content: "\e658"; +} + +load.erro::after { + content: "加载失败"; +} + +load.load-icon::before { + font-size: 16px; +} + +load.load-icon::after { + display: none; +} + +load.load-icon.over { + display: none; +} + +/* ================== + 列表 + ==================== */ + +.grayscale { + filter: grayscale(1); +} + +list.menu { + padding: 0 15px; + background: #fff; + display: block; +} + +list.menu.no-padding { + padding: 0; +} + +list.menu+list.menu { + margin-top: 15px; +} + +list+list { + margin-top: 15px; +} + +list.menu>item { + position: relative; + line-height: 18px; + font-size: 16px; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #eee; + min-height: 50px; +} + +list.menu>item.cur { + background-color: #fcf7e9; +} + +list.menu>item:last-child { + border: none; +} + +list.menu.no-padding>item { + padding: 15px; +} + +list.menu-avatar.no-padding>item { + padding-left: 70px; +} + +list.menu-avatar.no-padding>item avatar { + left: 15px; +} + +list.menu.no-padding>item.arrow { + padding-right: 33px; +} + +list.menu>item .content { + line-height: 1.6em; + flex: 1; +} + +list.menu>item button.content { + padding: 0; + justify-content: flex-start; + font-size: 16px; +} + +list.menu>item button.content::after { + display: none; +} + +list.menu>item .content>text[class*="icon"], list.menu>item .content>image, +list.menu>item .content>icon { + margin-right: 5px; + display: inline-block; + width: 1.4em; + height: 1.6em; + vertical-align: middle; + text-align: center; +} + +list.menu>item .action { + text-align: right; +} + +list>item.grayscale { + background-color: #f5f5f5; +} + +list.menu>item .action tag:empty { + right: 5px; +} + +list.menu>item.arrow { + padding-right: 18px; +} + +list.menu>item.arrow::after { + font-family: "iconfont" !important; + display: block; + content: "\e6a3"; + position: absolute; + font-size: 17px; + color: #aaa; + line-height: 15px; + height: 15px; + width: 15px; + text-align: center; + top: 1px; + bottom: 0; + right: 0; + margin: auto; +} + +list.menu.no-padding>item.arrow::after { + right: 15px; +} + +list.menu>item avatar-group avatar { + border-color: #fff; +} + +list.card-menu { + margin-left: 15px; + margin-right: 15px; + border-radius: 10px; + overflow: hidden; +} + +list.menu-avatar>item>avatar { + position: absolute; + left: 0; +} + +list.menu-avatar>item { + padding-left: 55px; + height: 70px; +} + +list.menu>item .content tag.sm { + font-size: 8px; + line-height: 80%; + padding: 4px 3px 2px; + margin-top: -3px; +} + +list.grid { + text-align: center; + background: #fff; +} + +list.grid>item { + display: flex; + flex-direction: column; + border-right: 1rpx solid #eee; + border-bottom: 1rpx solid #eee; + padding: 10px; +} + +list.grid>item icon { + display: block; + width: 100%; + position: relative; + font-size: 24px; + margin-top: 10px; +} + +list.grid>item text { + display: block; + color: #888; + margin-top: 5px; + line-height: 20px; + font-size: 13px; +} + +list.grid>item tag { + left: 50%; + right: auto; + margin-left: 10px; +} + +list.grid.col-3>item:nth-child(3n) { + border-right: 0px; +} + +list.grid.col-4>item:nth-child(4n) { + border-right: 0px; +} + +list.grid.col-5>item:nth-child(5n) { + border-right: 0px; +} + +list.grid.no-border { + padding: 10px 5px; +} + +list.grid.no-border>item { + border: none !important; + padding-top: 5px; + padding-bottom: 5px; +} + +list.menu-avatar.comment > item { + height: auto; + padding-top: 15px; + padding-bottom: 15px; + padding-left: 45px; +} + +list.menu-avatar.comment avatar { + align-self: flex-start; +} + +/* ================== + 操作条 + ==================== */ + +bar { + display: flex; + position: relative; + align-items: center; + background: #fff; + height: 50px; + justify-content: space-between; + font-size: 16px; +} + +bar .action { + display: flex; + align-items: center; + height: 100%; + justify-content: center; + max-width: 100%; +} + +bar .action:first-child { + margin-left: 15px; + font-size: 15px; +} + +bar .action:first-child text { + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + text-align: left; + width: 100%; +} + +bar avatar:first-child { + margin-left: 10px; +} + +bar .action:first-child >icon[class*="icon"] { + margin-left: -0.5em; +} + +bar .action:last-child { + margin-right: 15px; +} + +bar .action>icon[class*="icon"] { + font-size: 18px; + height: 100%; + width: 1.4em; +} + +bar .action>icon[class*="icon"]+icon[class*="icon"] { + margin-left: 0.5em; +} + +bar .content { + position: absolute; + text-align: center; + width: 400rpx; + left: 0; + right: 0; + bottom: 8px; + margin: auto; + height: 30px; + font-size: 18px; + line-height: 30px; + cursor: none; + pointer-events: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +bar.btn-group { + justify-content: space-around; +} + +bar.btn-group button { + padding: 10px 16px; +} + +bar.btn-group button { + flex: 1; + margin: 0 10px; + max-width: 50%; +} + +bar .serach-form { + background: #f5f5f5; + line-height: 32px; + height: 32px; + font-size: 12px; + color: #666; + flex: 1; + display: flex; + align-items: center; + margin: 0 10px; +} + +bar .serach-form +.action { + margin-right: 10px; +} + +bar .serach-form +.action text+icon { + margin-right: -0.5em; +} + +bar .serach-form input { + flex: 1; + padding-right: 10px; + height: 32px; + line-height: 32px; + font-size: 13px; +} + +bar .serach-form [class*="icon"] { + width: 2em; + height: auto; +} + +bar .serach-form.round [class*="icon"] { + margin-left: 0.5em; +} + +bar .serach-form [class*="icon"]::before { + top: 0px; +} + +bar.fixed, .nav.fixed { + position: fixed; + width: 100%; + top: 0; + z-index: 1024; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +bar.foot { + position: fixed; + width: 100%; + bottom: 0; + z-index: 1024; + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.1); +} + +bar.shop { + padding: 0; +} + +bar.shop .action { + font-size: 12px; + position: relative; + flex: 1; + text-align: center; + padding: 0 10px; + display: block; + height: auto !important; + line-height: 1; + margin: 0 !important; +} + +bar.shop [class*="icon"] { + width: 50px !important; + position: relative; + display: block; + height: auto !important; + margin: 0 auto 5px !important; +} + +bar.shop .submit { + align-items: center; + display: flex; + justify-content: center; + text-align: center; + position: relative; + flex: 2; + height: 100%; +} + +bar.shop .submit:last-child { + flex: 2.6; +} + +bar.shop .submit+.submit { + flex: 2; +} + +bar.shop .submit button { + margin-left: 10px; +} + +bar.shop .submit:last-child button { + margin-left: 0px; +} + +bar.shop .submit+.submit button { + margin-left: 0px; + margin-right: 10px; +} + +bar.shop .action::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + transform: scale(0.5); + transform-origin: 0 0; + border-right: 1px solid rgba(0, 0, 0, 0.1); +} + +bar.input { + padding-right: 10px; +} + +bar.input input { + overflow: initial; + line-height: 32px; + height: 32px; + min-height: 32px; + flex: 1; + font-size: 15px; + margin: 0 10px; +} + +bar.input .action { + margin-left: 10px; +} + +bar.input .action [class*="icon"] { + font-size: 24px; +} + +bar.input input+.action { + margin-right: 10px; + margin-left: 0px; +} + +bar.input .action:first-child [class*="icon"] { + margin-left: 0px; +} + +custom { + display: block; + position: relative; +} + +custom bar { + padding-right: 110px; + box-shadow: 0px 0px 0px !important; +} + +/* ================== + 导航栏 + ==================== */ + +.nav { + white-space: nowrap; +} + +::-webkit-scrollbar { + display: none; +} + +.nav item { + height: 45px; + display: inline-block; + line-height: 45px; + margin: 0 5px; + padding: 0 10px; +} + +.nav item.cur { + border-bottom: 2px solid; +} + +/* ================== + 时间轴 + ==================== */ + +timeline { + display: block; + background: #fff; +} + +timeline time { + width: 60px; + text-align: center; + padding: 10px 0; + font-size: 13px; + color: #888; + display: block; +} + +timeline>item { + padding: 15px 15px 15px 60px; + position: relative; + display: block; + color: #ccc; + z-index: 0; +} + +timeline>item::after { + content: ""; + display: block; + position: absolute; + width: 1rpx; + background: #ddd; + left: 30px; + height: 100%; + top: 0; + z-index: 8; +} + +timeline>item::before { + font-family: "iconfont"; + content: "\e763"; + display: block; + position: absolute; + top: 18px; + z-index: 9; + background: #fff; + width: 25px; + height: 25px; + text-align: center; + border: none; + line-height: 25px; + left: 18px; +} + +timeline>item[class*="icon"]::before { + background: #fff; + width: 25px; + height: 25px; + text-align: center; + border: none; + line-height: 25px; + left: 18px; +} + +timeline>item>.content { + background: #f1f1f1; + padding: 15px; + border-radius: 3px; + display: block; + color: #666; + line-height: 1.6; +} + +timeline>item>.content+.content { + margin-top: 10px; +} + +/* ================== + 聊天 + ==================== */ + +chat { + display: flex; + flex-direction: column; +} + +chat item { + display: flex; + padding: 15px 15px 35px; + position: relative; +} + +chat item>avatar { + width: 40px; + height: 40px; +} + +chat item>.main { + max-width: calc(100% - 130px); + margin: 0 20px; + display: flex; + align-items: center; +} + +chat item>image { + height: 160px; +} + +chat item>.main .content { + background: #fff; + padding: 10px; + border-radius: 3px; + display: inline-flex; + max-width: 100%; + align-items: center; + color: #666; + font-size: 15px; + position: relative; + min-height: 40px; + line-height: 20px; + text-align: left; +} + +chat item .date { + position: absolute; + font-size: 12px; + color: #aaa; + width: calc(100% - 160px); + bottom: 10px; + left: 80px; +} + +chat item .action { + padding: 0 15px; + display: flex; + align-items: center; +} + +chat item>.main .content::after { + content: ""; + top: 12px; + transform: rotate(180deg); + position: absolute; + z-index: 100; + display: inline-block; + width: 0; + height: 0; + vertical-align: middle; + border-bottom: 8px solid transparent; + border-top: 8px solid transparent; + overflow: hidden; + border-right-color: #fff; + border-left: 8px solid #333; + border-right: 0 dotted; + border-left-color: #fff; + left: -7px; + right: initial; +} + +chat item.self { + justify-content: flex-end; + text-align: right; +} + +chat item.self>.main .content::after { + left: auto; + right: -7px; + border-right: 8px solid #fff; + border-left: 0 dotted; +} + +chat item.self>.main .bg-green.content::after { + border-right-color: #39b50a; +} + +chat info { + display: inline-block; + margin: 10px auto; + font-size: 12px; + padding: 4px 6px; + background-color: rgba(0, 0, 0, 0.2); + border-radius: 3px; + color: #fff; + max-width: 400rpx; + line-height: 1.4; +} + +/* ================== + 卡片 + ==================== */ + +card { + display: block; + overflow: hidden; +} + +card > item { + display: block; + background: #fff; + overflow: hidden; + border-radius: 5px; + margin: 15px; +} + +card > item.shadow-blur { + overflow: initial; +} + +card.no-card > item { + margin: 0px; + border-radius: 0px; +} + +card.case .image { + position: relative; +} + +card.case .image image { + width: 100%; +} + +card.case .image tag { + position: absolute; + right: 0; + top: 0; +} + +card.case .image bar { + position: absolute; + bottom: 0; + width: 100%; + background-color: transparent; + padding: 0px 15px; + word-wrap: normal; + text-overflow: ellipsis; + white-space: nowrap; +} + +card.case.no-card .image { + margin: 15px 15px 0; + overflow: hidden; + border-radius: 5px; +} + +card.dynamic { + display: block; +} + +card.dynamic>item { + display: block; + background-color: #fff; + overflow: hidden; +} + +card.dynamic>item > .text-content { + padding: 0 15px 0; + max-height: 6.4em; + overflow: hidden; + font-size: 15px; + margin-bottom: 10px; +} + +card.dynamic>item .square-img { + width: 100%; + height: 100px; + border-radius: 3px; +} + +card.dynamic>item .only-img { + width: 100%; + height: 160px; + border-radius: 3px; +} + +/* card.dynamic>item .comment { + padding: 10px; + background: #f1f1f1; + margin: 0 15px 15px; + border-radius: 3px; +} */ + +card.article { + display: block; +} + +card.article>item { + padding-bottom: 15px; +} + +card.article>item .title { + font-size: 15px; + font-weight: 900; + word-wrap: normal; + text-overflow: ellipsis; + white-space: nowrap; + color: #333; + line-height: 50px; + padding: 0 15px; +} + +card.article>item .content { + display: flex; + padding: 0 15px; +} + +card.article>item .content > image { + width: 120px; + height: 6.4em; + margin-right: 10px; + border-radius: 3px; +} + +card.article>item .content .desc { + flex: 1; + width: 500rpx; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +card.article>item .content .text-content { + font-size: 14px; + color: #888; + height: 4.8em; + overflow: hidden; +} + +/* ================== + 表单 + ==================== */ + +form-group { + background: #fff; + padding: 0 15px; + display: flex; + align-items: center; + min-height: 100rpx; + justify-content: space-between; +} + +form-group + form-group { + border-top: 1rpx solid #eee; +} + +form-group .title { + text-align: justify; + padding-right: 15px; + font-size: 15px; + position: relative; + height: 30px; + line-height: 30px; +} + +form-group.top { + align-items: baseline; +} + +form-group input { + flex: 1; + font-size: 15px; + color: #555; + padding-right: 10px; +} + +form-group > icon[class*="icon-"] { + font-size: 18px; + padding: 0; + box-sizing: border-box; +} + +form-group textarea, form-group textarea textarea { + margin: 16px 0 15px; + height: 4.8em; + width: 100%; + line-height: 1.2em; + flex: 1; + font-size: 14px; + padding: 0; + box-sizing: content-box; + display: inline-block; + vertical-align: top; +} + +form-group textarea::after { + content: "测试文字"; + opacity: 0; +} + +form-group .grid-square { + margin: 15px 0 0 !important; +} + +form-group picker { + flex: 1; + padding-right: 20px; + overflow: hidden; + position: relative; +} + +form-group picker .picker { + line-height: 50px; + font-size: 14px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 100%; + text-align: right; +} + +form-group picker::after { + font-family: iconfont !important; + display: block; + content: "\e6a3"; + position: absolute; + font-size: 17px; + color: #aaa; + line-height: 50px; + width: 30px; + text-align: center; + top: 0; + bottom: 0; + right: -10px; + margin: auto; +} + +form-group textarea[disabled], form-group textarea[disabled] .placeholder { + color: transparent; +} + +/* ================== + 模态窗口 + ==================== */ + +modal-box { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1110; + opacity: 0; + outline: 0; + text-align: center; + -ms-transform: scale(1.185); + transform: scale(1.185); + backface-visibility: hidden; + perspective: 1000px; + background: rgba(0, 0, 0, 0.6); + transition: all 0.6s ease-in-out 0; + pointer-events: none; +} + +modal-box::before { + content: "\200B"; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +modal-box.show { + opacity: 1; + transition-duration: 0.3s; + -ms-transform: scale(1); + transform: scale(1); + overflow-x: hidden; + overflow-y: auto; + pointer-events: auto; +} + +dialog { + position: relative; + display: inline-block; + vertical-align: middle; + margin-left: auto; + margin-right: auto; + width: 680rpx; + max-width: 100%; + background: #f8f8f8; + border-radius: 10rpx; + overflow: hidden; +} + +modal-box.bottom-modal::before { + vertical-align: bottom; +} + +modal-box.bottom-modal dialog { + width: 100%; + border-radius: 0; +} + +modal-box.bottom-modal { + margin-bottom: -500px; +} + +modal-box.bottom-modal.show { + margin-bottom: 0; +} + +/* ================== + 轮播 + ==================== */ + +swiper.square-dot .wx-swiper-dot { + background: #fff; + opacity: 0.4; + width: 5px !important; + height: 5px !important; + border-radius: 10px !important; + transition: all 0.3s ease-in-out 0s !important; +} + +swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active { + opacity: 1; + width: 15px !important; +} + +swiper.round-dot .wx-swiper-dot { + /* background: #39b54a; */ + width: 5px !important; + height: 5px !important; + top: -2px !important; + transition: all 0.3s ease-in-out 0s !important; + position: relative; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after { + content: ""; + position: absolute; + width: 5px; + height: 5px; + top: 0px; + left: 0px; + right: 0; + bottom: 0; + margin: auto; + background: #fff; + border-radius: 10px; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { + width: 9px !important; + height: 9px !important; + top: 0px !important; +} + +.screen-swiper { + min-height: 375rpx; +} + +.screen-swiper image { + width: 100%; + display: block; + height: 100%; + margin: 0; +} + +.card-swiper { + height: 420rpx; +} + +.card-swiper swiper-item { + width: 610rpx !important; + left: 70rpx !important; + box-sizing: border-box; + padding: 20px 0px 35px; + overflow: initial !important; +} + +.card-swiper swiper-item .bg-img { + width: 100%; + display: block; + height: 100%; + border-radius: 5px; + transform: scale(0.9); + transition: all 0.2s ease-in 0s; +} + +.card-swiper swiper-item.cur .bg-img { + transform: none; + transition: all 0.2s ease-in 0s; +} + +.tower-swiper { + height: 420rpx; + position: relative; +} + +.tower-swiper .tower-item { + position: absolute; + width: 300rpx; + height: 380rpx; + top: 0; + bottom: 0; + left:50%; + margin: auto; + transition: all 0.3s ease-in 0s; + opacity: 1; +} +.tower-swiper .tower-item.none { + opacity: 0; +} + +.tower-swiper .tower-item .bg-img { + width: 100%; + height: 100%; + border-radius: 3px; +} diff --git a/template/colorui-rpx.wxss b/template/colorui-rpx.wxss new file mode 100644 index 0000000..ef6c243 --- /dev/null +++ b/template/colorui-rpx.wxss @@ -0,0 +1,2969 @@ +/* + Color UI v2.0.2 | by 文晓港 + 单位为多种混合(rpx,vw,vh,em) + 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + (QQ交流群:240787041) + 文档:http://www.color-ui.com/ +*/ + +/* ================== + 初始化 + ==================== */ + +page { + background: #f1f1f1; + font-size: 28rpx; + color: #333; + line-height: 1; + font-family: Helvetica Neue, Helvetica, sans-serif; +} + +view, text, custom, tag, capsule, scroll-view, swiper, button, timeline, form, +form-group, info, bar, progress-bar, input, textarea, label, navigator, list, +item, chat, image { + box-sizing: border-box; +} + +/* ================== + 布局 + ==================== */ + +/* -- flex弹性布局 -- */ + +.flex { + display: flex; +} + +.basis-xs { + flex-basis: 20%; +} + +.basis-sm { + flex-basis: 40%; +} + +.basis-df { + flex-basis: 50%; +} + +.basis-lg { + flex-basis: 60%; +} + +.basis-xl { + flex-basis: 80%; +} + +.flex-sub { + flex: 1; +} + +.flex-twice { + flex: 2; +} + +.flex-treble { + flex: 3; +} + +.flex-direction { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.align-start { + align-items: flex-start; +} + +.align-end { + align-items: flex-end; +} + +.align-center { + align-items: center; +} + +.align-stretch { + align-items: stretch; +} + +.self-start { + align-self: flex-start; +} + +.self-center { + align-self: flex-center; +} + +.self-end { + align-self: flex-end; +} + +.self-stretch { + align-self: stretch; +} + +.align-stretch { + align-items: stretch; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.justify-around { + justify-content: space-around; +} + +/* grid布局 */ + +.grid { + display: flex; + flex-wrap: wrap; +} + +.grid.grid-square { + margin-bottom: -20rpx; + overflow: hidden; +} + +.grid.grid-square tag { + position: absolute; + right: 0; + top: 0; + border-bottom-left-radius: 6rpx; +} + +.grid.grid-square view> icon, .grid.grid-square item> icon { + font-size: 52rpx; + position: absolute; + color: #aaa; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.grid.grid-square view, .grid.grid-square item { + margin-right: 20rpx; + margin-bottom: 20rpx; + border-radius: 6rpx; + position: relative; + overflow: hidden; +} + +.grid.col-1.grid-square view, .grid.col-1.grid-square item { + padding-bottom: 100%; + height: 0; + margin-right: 0; +} + +.grid.col-2.grid-square view, .grid.col-2.grid-square item { + padding-bottom: calc((100% - 20rpx)/2); + height: 0; + width: calc((100% - 20rpx)/2); +} + +.grid.col-2.grid-square view:nth-child(2n), +.grid.col-2.grid-square item:nth-child(2n) { + margin-right: 0; +} + +.grid.col-3.grid-square view, .grid.col-3.grid-square item { + padding-bottom: calc((100% - 40rpx)/3); + height: 0; + width: calc((100% - 40rpx)/3); +} + +.grid.col-3.grid-square view:nth-child(3n), +.grid.col-3.grid-square item:nth-child(3n) { + margin-right: 0; +} + +.grid.col-4.grid-square view, .grid.col-4.grid-square item { + padding-bottom: calc((100% - 60rpx)/4); + height: 0; + width: calc((100% - 60rpx)/4); +} + +.grid.col-4.grid-square view:nth-child(4n), +.grid.col-4.grid-square item:nth-child(4n) { + margin-right: 0; +} + +.grid.col-5.grid-square view, .grid.col-5.grid-square item { + padding-bottom: calc((100% - 80rpx)/5); + height: 0; + width: calc((100% - 80rpx)/5); +} + +.grid.col-1>item, .grid.col-1>view { + width: 100%; +} + +.grid.col-2>item, .grid.col-2>view { + width: 50%; +} + +.grid.col-3>item, .grid.col-3>view { + width: 33.33%; +} + +.grid.col-4>item, .grid.col-4>view { + width: 25%; +} + +.grid.col-5>item, .grid.col-5>view { + width: 20%; +} + +/* -- 内外边距 -- */ + +.margin-0 { + margin: 0 !important; +} + +.margin-xs { + margin: 10rpx; +} + +.margin-sm { + margin: 20rpx; +} + +.margin { + margin: 30rpx; +} + +.margin-lg { + margin: 40rpx; +} + +.margin-xl { + margin: 50rpx; +} + +.margin-top-xs { + margin-top: 10rpx; +} + +.margin-top-sm { + margin-top: 20rpx; +} + +.margin-top { + margin-top: 30rpx; +} + +.margin-top-lg { + margin-top: 40rpx; +} + +.margin-top-xl { + margin-top: 50rpx; +} + +.margin-right-xs { + margin-right: 10rpx; +} + +.margin-right-sm { + margin-right: 20rpx; +} + +.margin-right { + margin-right: 30rpx; +} + +.margin-right-lg { + margin-right: 40rpx; +} + +.margin-right-xl { + margin-right: 50rpx; +} + +.margin-bottom-xs { + margin-bottom: 10rpx; +} + +.margin-bottom-sm { + margin-bottom: 20rpx; +} + +.margin-bottom { + margin-bottom: 30rpx; +} + +.margin-bottom-lg { + margin-bottom: 40rpx; +} + +.margin-bottom-xl { + margin-bottom: 50rpx; +} + +.margin-left-xs { + margin-left: 10rpx; +} + +.margin-left-sm { + margin-left: 20rpx; +} + +.margin-left { + margin-left: 30rpx; +} + +.margin-left-lg { + margin-left: 40rpx; +} + +.margin-left-xl { + margin-left: 50rpx; +} + +.margin-lr-xs { + margin-left: 10rpx; + margin-right: 10rpx; +} + +.margin-lr-sm { + margin-left: 20rpx; + margin-right: 20rpx; +} + +.margin-lr { + margin-left: 30rpx; + margin-right: 30rpx; +} + +.margin-lr-lg { + margin-left: 40rpx; + margin-right: 40rpx; +} + +.margin-lr-xl { + margin-left: 50rpx; + margin-right: 50rpx; +} + +.margin-tb-xs { + margin-top: 10rpx; + margin-bottom: 10rpx; +} + +.margin-tb-sm { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.margin-tb { + margin-top: 30rpx; + margin-bottom: 30rpx; +} + +.margin-tb-lg { + margin-top: 40rpx; + margin-bottom: 40rpx; +} + +.margin-tb-xl { + margin-top: 50rpx; + margin-bottom: 50rpx; +} + +.padding-0 { + padding: 0 !important; +} + +.padding-xs { + padding: 10rpx; +} + +.padding-sm { + padding: 20rpx; +} + +.padding { + padding: 30rpx; +} + +.padding-lg { + padding: 40rpx; +} + +.padding-xl { + padding: 50rpx; +} + +.padding-top-xs { + padding-top: 10rpx; +} + +.padding-top-sm { + padding-top: 20rpx; +} + +.padding-top { + padding-top: 30rpx; +} + +.padding-top-lg { + padding-top: 40rpx; +} + +.padding-top-xl { + padding-top: 50rpx; +} + +.padding-right-xs { + padding-right: 10rpx; +} + +.padding-right-sm { + padding-right: 20rpx; +} + +.padding-right { + padding-right: 30rpx; +} + +.padding-right-lg { + padding-right: 40rpx; +} + +.padding-right-xl { + padding-right: 50rpx; +} + +.padding-bottom-xs { + padding-bottom: 10rpx; +} + +.padding-bottom-sm { + padding-bottom: 20rpx; +} + +.padding-bottom { + padding-bottom: 30rpx; +} + +.padding-bottom-lg { + padding-bottom: 40rpx; +} + +.padding-bottom-xl { + padding-bottom: 50rpx; +} + +.padding-left-xs { + padding-left: 10rpx; +} + +.padding-left-sm { + padding-left: 20rpx; +} + +.padding-left { + padding-left: 30rpx; +} + +.padding-left-lg { + padding-left: 40rpx; +} + +.padding-left-xl { + padding-left: 50rpx; +} + +.padding-lr-xs { + padding-left: 10rpx; + padding-right: 10rpx; +} + +.padding-lr-sm { + padding-left: 20rpx; + padding-right: 20rpx; +} + +.padding-lr { + padding-left: 30rpx; + padding-right: 30rpx; +} + +.padding-lr-lg { + padding-left: 40rpx; + padding-right: 40rpx; +} + +.padding-lr-xl { + padding-left: 50rpx; + padding-right: 50rpx; +} + +.padding-tb-xs { + padding-top: 10rpx; + padding-bottom: 10rpx; +} + +.padding-tb-sm { + padding-top: 20rpx; + padding-bottom: 20rpx; +} + +.padding-tb { + padding-top: 30rpx; + padding-bottom: 30rpx; +} + +.padding-tb-lg { + padding-top: 40rpx; + padding-bottom: 40rpx; +} + +.padding-tb-xl { + padding-top: 50rpx; + padding-bottom: 50rpx; +} + +/* -- 浮动 -- */ + +.cf::after, .cf::before { + content: " "; + display: table; +} + +.cf::after { + clear: both; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +/* ================== + 图片 + ==================== */ + +image { + max-width: 100%; + display: inline-block; + position: relative; + z-index: 0; +} + +image.loading::before { + content: ""; + background: #f5f5f5; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: -2; +} + +image.loading::after { + content: "\e7f1"; + font-family: "iconfont"; + 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: icon-spin 2s infinite linear; + animation: icon-spin 2s infinite linear; + display: block; +} + +image.response { + width: 100%; +} + +/* ================== + 开关 + ==================== */ + +switch, checkbox, radio { + position: relative; +} + +switch::after ,switch::before{ + font-family: "iconfont" !important; + content: "\e645"; + position: absolute; + color: #fff; + top: 0%; + left: 0rpx; + font-size: 32rpx; + line-height: 64rpx; + width: 64rpx; + text-align: center; + pointer-events: none; + transform: scale(0, 0); + transition: all 0.3s ease-in-out 0s; + z-index: 9; +} + +switch::before { + content: "\e646"; + right: 0; + + transform: scale(1, 1); + left: auto; +} +switch[checked]::after { + transform: scale(1, 1); +} +switch[checked]::before { + transform: scale(0, 0); +} + + + +radio::before, checkbox::before { + font-family: "iconfont" !important; + content: "\e645"; + position: absolute; + color: #fff; + top: 50%; + margin-top: -16rpx; + right: 10rpx; + font-size: 32rpx; + line-height: 32rpx; + pointer-events: none; + transform: scale(1, 1); + transition: all 0.3s ease-in-out 0s; + z-index: 9; +} + +switch[checked]::before { + transform: scale(0, 0); +} + +switch .wx-switch-input { + background: #aaa !important; + border:none; + padding: 0 60rpx; + height: 64rpx; + margin: 0; + border-radius: 100rpx; +} + +switch .wx-switch-input::after { + margin: auto !important; + width: 64rpx !important; + height: 64rpx !important; + border-radius: 100rpx; + left: 0rpx !important; + top: 0rpx !important; + bottom: 0rpx !important; + position: absolute; + transform: scale(0.9, 0.9) !important; + transition: all 0.1s ease-in-out 0s; +} +switch .wx-switch-input-checked::after { + margin: auto !important; + left: 54rpx !important; + box-shadow: none !important; +} +radio-group { + display: inline-block; +} + +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: transparent; + display: block; + position: absolute; + width: 16rpx; + height: 16rpx; + z-index: 999; + top: 0rpx; + left: 0rpx; + right: 0; + bottom: 0; + margin: auto; + border-radius: 200rpx; + border: 16rpx solid #fff; +} + +switch.sm, checkbox.sm, radio.sm { + transform: scale(0.8); +} + +.switch-sex::after { + content: "\e71c"; +} + +.switch-sex::before { + content: "\e71a"; +} + +.switch-sex .wx-switch-input { + background: #e54d42 !important; + border-color: #e54d42; +} + +.switch-sex[checked] .wx-switch-input { + background: #0081ff !important; + border-color: #0081ff !important; +} + +/* ================== + 背景 + ==================== */ + +.line-red::after, .lines-red::after, switch.red[checked] .wx-switch-input, +checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { + border-color: #e54d42 !important; +} + +.line-orange::after, .lines-orange::after, +switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + border-color: #f37b1d !important; +} + +.line-yellow::after, .lines-yellow::after, +switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + border-color: #fbbd08 !important; +} + +.line-olive::after, .lines-olive::after, switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { + border-color: #8dc63f !important; +} + +.line-green::after, .lines-green::after, 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; +} + +.line-cyan::after, .lines-cyan::after, switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { + border-color: #1cbbb4 !important; +} + +.line-blue::after, .lines-blue::after, switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { + border-color: #0081ff !important; +} + +.line-purple::after, .lines-purple::after, +switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + border-color: #6739b6 !important; +} + +.line-mauve::after, .lines-mauve::after, switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { + border-color: #9c26b0 !important; +} + +.line-pink::after, .lines-pink::after, switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { + border-color: #e03997 !important; +} + +.line-brown::after, .lines-brown::after, switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { + border-color: #a5673f !important; +} + +.line-grey::after, .lines-grey::after, switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { + border-color: #8799a3 !important; +} + +.line-gray::after, .lines-gray::after, switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { + border-color: #aaa !important; +} + +.line-black::after, .lines-black::after, switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { + border-color: #333 !important; +} + +.line-white::after, .lines-white::after, switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { + border-color: #fff !important; +} + +.bg-red, switch.red[checked] .wx-switch-input, +checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { + background-color: #e54d42 !important; + color: #fff !important; +} + +.bg-orange, switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + background-color: #f37b1d !important; + color: #fff !important; +} + +.bg-yellow, switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + background-color: #fbbd08 !important; + color: #333 !important; +} + +.bg-olive, switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { + background-color: #8dc63f !important; + color: #fff !important; +} + +.bg-green, 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: #fff !important; +} + +.bg-cyan, switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { + background-color: #1cbbb4 !important; + color: #fff !important; +} + +.bg-blue, switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { + background-color: #0081ff !important; + color: #fff !important; +} + +.bg-purple, switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + background-color: #6739b6 !important; + color: #fff !important; +} + +.bg-mauve, switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { + background-color: #9c26b0 !important; + color: #fff !important; +} + +.bg-pink, switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { + background-color: #e03997 !important; + color: #fff !important; +} + +.bg-brown, switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { + background-color: #a5673f !important; + color: #fff !important; +} + +.bg-grey, switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { + background-color: #8799a3 !important; + color: #fff !important; +} + +.bg-gray, switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { + background-color: #f0f0f0 !important; + color: #666 !important; +} + +.bg-black, switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { + background-color: #333 !important; + color: #fff !important; +} + +.bg-white, switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input { + background-color: #fff !important; + color: #666; +} + +.bg-shadeTop { + background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01)); + color: #fff; +} + +.bg-shadeBottom { + background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1)); + color: #fff; +} + +.none-bg, .line-white, .lines-white { + background-color: transparent !important; +} + +.bg-red.light { + color: #e54d42 !important; + background: #fadbd9 !important; +} + +.bg-orange.light { + color: #f37b1d !important; + background: #fde6d2 !important; +} + +.bg-yellow.light { + color: #fbbd08 !important; + background: #fef2ce !important; +} + +.bg-olive.light { + color: #8dc63f !important; + background: #e8f4d9 !important; +} + +.bg-green.light { + color: #39b54a !important; + background: #d7f0db !important; +} + +.bg-cyan.light { + color: #1cbbb4 !important; + background: #d2f1f0 !important; +} + +.bg-blue.light { + color: #0081ff !important; + background: #cce6ff !important; +} + +.bg-purple.light { + color: #6739b6 !important; + background: #e1d7f0 !important; +} + +.bg-mauve.light { + color: #9c26b0 !important; + background: #ebd4ef !important; +} + +.bg-pink.light { + color: #e03997 !important; + background: #f9d7ea !important; +} + +.bg-brown.light { + color: #a5673f !important; + background: #ede1d9 !important; +} + +.bg-grey.light { + color: #8799a3 !important; + background: #e7ebed !important; +} + +.bg-gray.light { + color: #666 !important; + background: #fadbd9 !important; +} + +.bg-gray.light { + color: #888 !important; + background: #f1f1f1 !important; +} + +.gradual-red { + background-image: linear-gradient(45deg, #f43f3b, #ec008c) !important; + color: #fff !important; +} + +.gradual-orange { + background-image: linear-gradient(45deg, #ff9700, #ed1c24) !important; + color: #fff !important; +} + +.gradual-green { + background-image: linear-gradient(45deg, #39b54a, #8dc63f) !important; + color: #fff !important; +} + +.gradual-purple { + background-image: linear-gradient(45deg, #9000ff, #5e00ff) !important; + color: #fff !important; +} + +.gradual-pink { + background-image: linear-gradient(45deg, #ec008c, #6739b6) !important; + color: #fff !important; +} + +.gradual-blue { + background-image: linear-gradient(45deg, #0081ff, #1cbbb4) !important; + color: #fff !important; +} + +button.shadow[class*="-red"] { + box-shadow: 6rpx 6rpx 8rpx rgba(204, 69, 59, 0.2) !important; +} + +button.shadow[class*="-orange"] { + box-shadow: 6rpx 6rpx 8rpx rgba(217, 109, 26, 0.2) !important; +} + +button.shadow[class*="-yellow"] { + box-shadow: 6rpx 6rpx 8rpx rgba(224, 170, 7, 0.2) !important; +} + +button.shadow[class*="-olive"] { + box-shadow: 6rpx 6rpx 8rpx rgba(124, 173, 55, 0.2) !important; +} + +button.shadow[class*="-green"] { + box-shadow: 6rpx 6rpx 8rpx rgba(48, 156, 63, 0.2) !important; +} + +button.shadow[class*="-cyan"] { + box-shadow: 6rpx 6rpx 8rpx rgba(28, 187, 180, 0.2) !important; +} + +button.shadow[class*="-blue"] { + box-shadow: 6rpx 6rpx 8rpx rgba(0, 102, 204, 0.2) !important; +} + +button.shadow[class*="-purple"] { + box-shadow: 6rpx 6rpx 8rpx rgba(88, 48, 156, 0.2) !important; +} + +button.shadow[class*="-mauve"] { + box-shadow: 6rpx 6rpx 8rpx rgba(133, 33, 150, 0.2) !important; +} + +button.shadow[class*="-pink"] { + box-shadow: 6rpx 6rpx 8rpx rgba(199, 50, 134, 0.2) !important; +} + +button.shadow[class*="-brown"] { + box-shadow: 6rpx 6rpx 8rpx rgba(140, 88, 53, 0.2) !important; +} + +button.shadow[class*="-grey"] { + box-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2) !important; +} + +button.shadow[class*="-gray"] { + box-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2) !important; +} + +button.shadow[class*="-black"] { + box-shadow: 6rpx 6rpx 8rpx rgba(26, 26, 26, 0.2) !important; +} + +.bg-img { + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} + +.bg-mask { + background-color: #333; + position: relative; +} + +.bg-mask::after { + content: ""; + border-radius: inherit; + width: 100%; + height: 100%; + display: block; + background-color: rgba(0, 0, 0, 0.5); + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; +} + +.bg-mask view, .bg-mask cover-view { + z-index: 5; + position: relative; +} + +.bg-mask>cover-view { + background-color: rgba(0, 0, 0, 0.5); +} + +.bg-video { + position: relative; +} + +.bg-video video { + display: block; + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; + position: absolute; + top: 0; + z-index: 0; + pointer-events: none; +} + +/* ================== + 文本 + ==================== */ + +.text-xs { + font-size: 20rpx; +} + +.text-sm { + font-size: 24rpx; +} + +.text-df { + font-size: 28rpx; +} + +.text-lg { + font-size: 32rpx; +} + +.text-xl { + font-size: 36rpx; +} + +.text-xxl { + font-size: 44rpx; +} + +.text-sl { + font-size: 80rpx; +} + +.text-xsl { + font-size: 120rpx; +} + +.text-Abc { + text-transform: Capitalize; +} + +.text-ABC { + text-transform: Uppercase; +} + +.text-abc { + text-transform: Lowercase; +} + +.text-price::before { + content: "¥"; + font-size: 80%; + margin-right: 4rpx; +} + +.text-cut { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.text-bold { + font-weight: bold; +} + +.text-center { + text-align: center; +} + +.text-content { + line-height: 1.6; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-red, .line-red, .lines-red { + color: #e54d42 !important; +} + +.text-orange, .line-orange, .lines-orange { + color: #f37b1d !important; +} + +.text-yellow, .line-yellow, .lines-yellow { + color: #fbbd08 !important; +} + +.text-olive, .line-olive, .lines-olive { + color: #8dc63f !important; +} + +.text-green, .line-green, .lines-green { + color: #39b54a !important; +} + +.text-cyan, .line-cyan, .lines-cyan { + color: #1cbbb4 !important; +} + +.text-blue, .line-blue, .lines-blue { + color: #0081ff !important; +} + +.text-purple, .line-purple, .lines-purple { + color: #6739b6 !important; +} + +.text-mauve, .line-mauve, .lines-mauve { + color: #9c26b0 !important; +} + +.text-pink, .line-pink, .lines-pink { + color: #e03997 !important; +} + +.text-brown, .line-brown, .lines-brown { + color: #a5673f !important; +} + +.text-grey, .line-grey, .lines-grey { + color: #8799a3 !important; +} + +.text-gray, .line-gray, .lines-gray { + color: #aaa !important; +} + +.text-black, .line-black, .lines-black { + color: #333 !important; +} + +.text-white, .line-white, .lines-white { + color: #fff !important; +} + +/* ================== + 边框 + ==================== */ + +/* -- 实线 -- */ + +.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; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + 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: 4rpx solid #eee; +} + +.solids-top::after { + border-top: 4rpx solid #eee; +} + +.solids-right::after { + border-right: 4rpx solid #eee; +} + +.solids-bottom::after { + border-bottom: 4rpx solid #eee; +} + +.solids-left::after { + border-left: 4rpx 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 { + box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +.shadow-lg { + box-shadow: 0rpx 40rpx 100rpx 0rpx rgba(0, 0, 0, 0.07); +} + +.shadow-warp { + position: relative; + 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%; + box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2); + transform: rotate(-3deg); + z-index: -1; +} + +.shadow-warp:after { + right: 20rpx; + left: auto; + transform: rotate(3deg); +} + +.shadow-blur { + position: relative; +} + +.shadow-blur::before { + content: ""; + display: block; + background: inherit; + filter: blur(10rpx); + position: absolute; + width: 100%; + height: 100%; + top: 10rpx; + left: 10rpx; + z-index: -1; + opacity: 0.4; + transform-origin: 0 0; + border-radius: inherit; + transform: scale(1, 1); +} + +/* ================== + 按钮 + ==================== */ + +.round, button.icon { + border-radius: 5000rpx !important; +} + +.radius { + border-radius: 6rpx !important; +} + +button { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + padding: 20rpx 30rpx 16rpx; + font-size: 28rpx; + line-height: 1; + text-align: center; + text-decoration: none; + border-radius: 6rpx; + overflow: visible; + color: #666; + background-color: #fff !important; + margin-left: initial; + transform: translate(0rpx, 0rpx); + margin-right: initial; +} + +button::after, tag[class*="line-"]::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border: 1rpx solid rgba(0, 0, 0, 0.2); + transform: scale(0.5); + transform-origin: 0 0; + box-sizing: border-box; + border-radius: inherit; + z-index: 1; + pointer-events: none; +} + +button[class*="line"]::after, tag.radius[class*="line"]::after { + border-radius: 12rpx; +} + +button.round[class*="line"]::after, tag.round[class*="line"]::after { + border-radius: 1000rpx; +} + +button[class*="lines"]::after { + border: 6rpx solid rgba(0, 0, 0, 0.2); +} + +button[class*="bg-"]::after { + display: none; +} + +button.sm { + padding: 14rpx 20rpx 10rpx; + font-size: 24rpx; +} + +button.lg { + padding: 32rpx 40rpx 28rpx; + font-size: 32rpx; +} + +button.icon.sm { + width: 56rpx; + height: 56rpx; +} + +button.icon { + width: 70rpx; + height: 70rpx; + padding: 0; +} + +button.icon.lg { + width: 80rpx; + height: 80rpx; +} + +button.shadow-blur::before { + top: 4rpx; + left: 4rpx; + filter: blur(6rpx); + opacity: 0.6; +} + +button.button-hover { + transform: translate(1rpx, 1rpx); +} + +.block { + display: block; +} + +button.block { + display: flex; +} + +button[disabled] { + opacity: 0.6; + color: #fff; +} + +/* ================== + 徽章 + ==================== */ + +tag { + font-size: 24rpx; + color: #666; + vertical-align: middle; + position: relative; + display: inline-flex; + align-items: stretch; + justify-content: center; + box-sizing: border-box; + padding: 12rpx 14rpx 10rpx; + line-height: 1; + background: #fff; + font-family: Helvetica Neue, Helvetica, sans-serif; +} + +tag[class*="line-"]::after { + border-radius: 0; +} + +tag+tag { + margin-left: 10rpx; +} + +tag.sm { + font-size: 20rpx; + padding: 10rpx 12rpx 6rpx; +} + +capsule { + display: inline-flex; + vertical-align: middle; +} + +capsule + capsule { + margin-left: 10rpx; +} + +capsule tag { + margin: 0; +} + +capsule tag[class*="line-"]:last-child::after { + border-left: 0rpx solid transparent !important; +} + +capsule tag[class*="line-"]:first-child::after { + border-right: 0rpx solid transparent !important; +} + +capsule.radius tag:first-child { + border-top-left-radius: 6rpx; + border-bottom-left-radius: 6rpx; +} + +capsule.radius tag:last-child::after, capsule.radius tag[class*="line-"] { + border-top-right-radius: 12rpx; + border-bottom-right-radius: 12rpx; +} + +capsule.round tag:first-child { + border-top-left-radius: 200rpx; + border-bottom-left-radius: 200rpx; + text-indent: 4rpx; +} + +capsule.round tag:last-child::after, capsule.round tag:last-child { + border-top-right-radius: 200rpx; + border-bottom-right-radius: 200rpx; + text-indent: -4rpx; +} + +tag.badge { + background: #dd514c; + border-radius: 200rpx; + position: absolute; + top: -10rpx; + right: -10rpx; + font-size: 20rpx; + padding: 6rpx 10rpx 4rpx; + color: #fff; +} + +tag:empty { + padding: 8rpx; + top: -4rpx; + right: -4rpx; +} + +/* ================== + 头像 + ==================== */ + +avatar { + font-variant: small-caps; + margin: 0; + padding: 0; + display: inline-block; + text-align: center; + background: #ccc; + color: #fff; + white-space: nowrap; + position: relative; + width: 64rpx; + height: 64rpx; + line-height: 64rpx; + background-size: cover; + background-position: center; + vertical-align: middle; +} + +avatar text { + position: absolute; + left: 50%; + display: inline-block; + transform-origin: 0 center; + transform: scale(0.75) translateX(-50%); +} + +avatar.sm { + width: 48rpx; + height: 48rpx; + line-height: 48rpx; +} + +avatar > icon { + position: absolute; + left: 50%; + top: 0; + bottom: 0; + margin: auto; + transform-origin: 0 center; + transform: scale(1.2) translateX(-50%); +} + +avatar.sm > icon { + transform: scale(0.75) translateX(-50%); +} + +avatar.lg > icon { + transform: scale(1.75) translateX(-50%); +} + +avatar.xl > icon { + transform: scale(2.2) translateX(-50%); +} + +avatar.lg { + width: 90rpx; + height: 90rpx; + line-height: 90rpx; +} + +avatar.xl { + width: 128rpx; + height: 128rpx; + line-height: 128rpx; +} + +avatar-group { + direction: rtl; + unicode-bidi: bidi-override; + padding: 0 10rpx 0 40rpx; + display: inline-block; +} + +avatar-group avatar { + margin-left: -30rpx; + border: 4rpx solid #f1f1f1; + vertical-align: middle; +} + +avatar-group avatar.sm { + margin-left: -20rpx; + border: 1rpx solid #f1f1f1; +} + +/* ================== + 进度条 + ==================== */ + +progress-bar { + overflow: hidden; + height: 28rpx; + background-color: #ebeef5; + display: inline-flex; + align-items: center; + width: 100%; +} + +progress-bar+view, progress-bar+text { + line-height: 1; +} + +progress-bar.xs { + height: 10rpx; +} + +progress-bar.sm { + height: 20rpx; +} + +progress-bar view { + width: 0; + height: 100%; + align-items: center; + display: flex; + justify-items: flex-end; + justify-content: space-around; + font-size: 20rpx; + color: #fff; + background: #0081ff; + transition: width 0.6s ease; +} + +progress-bar text { + align-items: center; + display: flex; + font-size: 20rpx; + color: #666; + text-indent: 10rpx; +} + +progress-bar.text-progress { + padding-right: 60rpx; +} + +progress-bar.striped view { + 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; +} + +progress-bar.active view { + animation: progress-bar-stripes 2s linear infinite; +} + +@keyframes progress-bar-stripes { + from { + background-position: 72rpx 0; + } + + to { + background-position: 0 0; + } +} + +/* ================== + 加载 + ==================== */ + +load { + display: block; + line-height: 3em; + text-align: center; +} + +load::before { + font-family: "iconfont" !important; + display: inline-block; + margin-right: 6rpx; +} + +load.loading::before { + content: "\e67a"; + animation: icon-spin 2s infinite linear; +} + +load.loading::after { + content: "加载中..."; +} + +load.over::before { + content: "\e64a"; +} + +load.over::after { + content: "没有更多了"; +} + +load.erro::before { + content: "\e658"; +} + +load.erro::after { + content: "加载失败"; +} + +load.load-icon::before { + font-size: 32rpx; +} + +load.load-icon::after { + display: none; +} + +load.load-icon.over { + display: none; +} + +/* ================== + 列表 + ==================== */ + +.grayscale { + filter: grayscale(1); +} + +list.menu { + padding: 0 30rpx; + background: #fff; + display: block; +} + +list.menu.no-padding { + padding: 0; +} + +list.menu+list.menu { + margin-top: 30rpx; +} + +list+list { + margin-top: 30rpx; +} + +list.menu>item { + position: relative; + line-height: 36rpx; + font-size: 32rpx; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1rpx solid #eee; + min-height: 100rpx; +} + +list.menu>item.cur { + background-color: #fcf7e9; +} + +list.menu>item:last-child { + border: none; +} + +list.menu.no-padding>item { + padding: 30rpx; +} + +list.menu-avatar.no-padding>item { + padding-left: 140rpx; +} + +list.menu-avatar.no-padding>item avatar { + left: 30rpx; +} + +list.menu.no-padding>item.arrow { + padding-right: 66rpx; +} + +list.menu>item .content { + line-height: 1.6em; + flex: 1; +} + +list.menu>item button.content { + padding: 0; + justify-content: flex-start; + font-size: 32rpx; +} + +list.menu>item button.content::after { + display: none; +} + +list.menu>item .content>text[class*="icon"], list.menu>item .content>image, +list.menu>item .content>icon { + margin-right: 10rpx; + display: inline-block; + width: 1.4em; + height: 1.6em; + vertical-align: middle; + text-align: center; +} + +list.menu>item .action { + text-align: right; +} + +list>item.grayscale { + background-color: #f5f5f5; +} + +list.menu>item .action tag:empty { + right: 10rpx; +} + +list.menu>item.arrow { + padding-right: 36rpx; +} + +list.menu>item.arrow::after { + font-family: "iconfont" !important; + display: block; + content: "\e6a3"; + position: absolute; + font-size: 34rpx; + color: #aaa; + line-height: 30rpx; + height: 30rpx; + width: 30rpx; + text-align: center; + top: 1rpx; + bottom: 0; + right: 0; + margin: auto; +} + +list.menu.no-padding>item.arrow::after { + right: 30rpx; +} + +list.menu>item avatar-group avatar { + border-color: #fff; +} + +list.card-menu { + margin-left: 30rpx; + margin-right: 30rpx; + border-radius: 20rpx; + overflow: hidden; +} + +list.menu-avatar>item>avatar { + position: absolute; + left: 0; +} + +list.menu-avatar>item { + padding-left: 110rpx; + height: 140rpx; +} + +list.menu>item .content tag.sm { + font-size: 16rpx; + line-height: 80%; + padding: 8rpx 6rpx 4rpx; + margin-top: -6rpx; +} + +list.grid { + text-align: center; + background: #fff; +} + +list.grid>item { + display: flex; + flex-direction: column; + border-right: 1rpx solid #eee; + border-bottom: 1rpx solid #eee; + padding: 20rpx; +} + +list.grid>item icon { + display: block; + width: 100%; + position: relative; + font-size: 48rpx; + margin-top: 20rpx; +} + +list.grid>item text { + display: block; + color: #888; + margin-top: 10rpx; + line-height: 40rpx; + font-size: 26rpx; +} + +list.grid>item tag { + left: 50%; + right: auto; + margin-left: 20rpx; +} + +list.grid.col-3>item:nth-child(3n) { + border-right: 0rpx; +} + +list.grid.col-4>item:nth-child(4n) { + border-right: 0rpx; +} + +list.grid.col-5>item:nth-child(5n) { + border-right: 0rpx; +} + +list.grid.no-border { + padding: 20rpx 10rpx; +} + +list.grid.no-border>item { + border: none !important; + padding-top: 10rpx; + padding-bottom: 10rpx; +} + +list.menu-avatar.comment > item { + height: auto; + padding-top: 30rpx; + padding-bottom: 30rpx; + padding-left: 90rpx; +} + +list.menu-avatar.comment avatar { + align-self: flex-start; +} + +/* ================== + 操作条 + ==================== */ + +bar { + display: flex; + position: relative; + align-items: center; + background: #fff; + height: 100rpx; + justify-content: space-between; + font-size: 32rpx; +} + +bar .action { + display: flex; + align-items: center; + height: 100%; + justify-content: center; + max-width: 100%; +} + +bar .action:first-child { + margin-left: 30rpx; + font-size: 30rpx; +} + +bar .action:first-child text { + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + text-align: left; + width: 100%; +} + +bar avatar:first-child { + margin-left: 20rpx; +} + +bar .action:first-child >icon[class*="icon"] { + margin-left: -0.5em; +} + +bar .action:last-child { + margin-right: 30rpx; +} + +bar .action>icon[class*="icon"] { + font-size: 36rpx; + height: 100%; + width: 1.4em; +} + +bar .action>icon[class*="icon"]+icon[class*="icon"] { + margin-left: 0.5em; +} + +bar .content { + position: absolute; + text-align: center; + width: 400rpx; + left: 0; + right: 0; + bottom: 16rpx; + margin: auto; + height: 60rpx; + font-size: 36rpx; + line-height: 60rpx; + cursor: none; + pointer-events: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +bar.btn-group { + justify-content: space-around; +} + +bar.btn-group button { + padding: 20rpx 32rpx; +} + +bar.btn-group button { + flex: 1; + margin: 0 20rpx; + max-width: 50%; +} + +bar .serach-form { + background: #f5f5f5; + line-height: 64rpx; + height: 64rpx; + font-size: 24rpx; + color: #666; + flex: 1; + display: flex; + align-items: center; + margin: 0 20rpx; +} + +bar .serach-form +.action { + margin-right: 20rpx; +} + +bar .serach-form +.action text+icon { + margin-right: -0.5em; +} + +bar .serach-form input { + flex: 1; + padding-right: 20rpx; + height: 128rpx; + line-height: 128rpx; + font-size: 26rpx; +} + +bar .serach-form [class*="icon"] { + width: 2em; + height: auto; +} + +bar .serach-form.round [class*="icon"] { + margin-left: 0.5em; +} + +bar .serach-form [class*="icon"]::before { + top: 0rpx; +} + +bar.fixed, .nav.fixed { + position: fixed; + width: 100%; + top: 0; + z-index: 1024; + box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +bar.foot { + position: fixed; + width: 100%; + bottom: 0; + z-index: 1024; + box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +bar.shop { + padding: 0; +} + +bar.shop .action { + font-size: 24rpx; + position: relative; + flex: 1; + text-align: center; + padding: 0 20rpx; + display: block; + height: auto !important; + line-height: 1; + margin: 0 !important; +} + +bar.shop [class*="icon"] { + width: 100rpx !important; + position: relative; + display: block; + height: auto !important; + margin: 0 auto 10rpx !important; +} + +bar.shop .submit { + align-items: center; + display: flex; + justify-content: center; + text-align: center; + position: relative; + flex: 2; + height: 100%; +} + +bar.shop .submit:last-child { + flex: 2.6; +} + +bar.shop .submit+.submit { + flex: 2; +} + +bar.shop .submit button { + margin-left: 20rpx; +} + +bar.shop .submit:last-child button { + margin-left: 0rpx; +} + +bar.shop .submit+.submit button { + margin-left: 0rpx; + margin-right: 20rpx; +} + +bar.shop .action::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + transform: scale(0.5); + transform-origin: 0 0; + border-right: 1rpx solid rgba(0, 0, 0, 0.1); +} + +bar.input { + padding-right: 20rpx; +} + +bar.input input { + overflow: initial; + line-height: 128rpx; + height: 128rpx; + min-height: 128rpx; + flex: 1; + font-size: 30rpx; + margin: 0 20rpx; +} + +bar.input .action { + margin-left: 20rpx; +} + +bar.input .action [class*="icon"] { + font-size: 48rpx; +} + +bar.input input+.action { + margin-right: 20rpx; + margin-left: 0rpx; +} + +bar.input .action:first-child [class*="icon"] { + margin-left: 0rpx; +} + +custom { + display: block; + position: relative; +} + +custom bar { + padding-right: 220rpx; + box-shadow: 0rpx 0rpx 0rpx !important; +} + +/* ================== + 导航栏 + ==================== */ + +.nav { + white-space: nowrap; +} + +::-webkit-scrollbar { + display: none; +} + +.nav item { + height: 90rpx; + display: inline-block; + line-height: 90rpx; + margin: 0 10rpx; + padding: 0 20rpx; +} + +.nav item.cur { + border-bottom: 4rpx solid; +} + +/* ================== + 时间轴 + ==================== */ + +timeline { + display: block; + background: #fff; +} + +timeline time { + width: 120rpx; + text-align: center; + padding: 20rpx 0; + font-size: 26rpx; + color: #888; + display: block; +} + +timeline>item { + padding: 30rpx 30rpx 30rpx 120rpx; + position: relative; + display: block; + color: #ccc; + z-index: 0; +} + +timeline>item::after { + content: ""; + display: block; + position: absolute; + width: 1rpx; + background: #ddd; + left: 60rpx; + height: 100%; + top: 0; + z-index: 8; +} + +timeline>item::before { + font-family: "iconfont"; + content: "\e763"; + display: block; + position: absolute; + top: 36rpx; + z-index: 9; + background: #fff; + width: 50rpx; + height: 50rpx; + text-align: center; + border: none; + line-height: 50rpx; + left: 36rpx; +} + +timeline>item[class*="icon"]::before { + background: #fff; + width: 50rpx; + height: 50rpx; + text-align: center; + border: none; + line-height: 50rpx; + left: 36rpx; +} + +timeline>item>.content { + background: #f1f1f1; + padding: 30rpx; + border-radius: 6rpx; + display: block; + color: #666; + line-height: 1.6; +} + +timeline>item>.content+.content { + margin-top: 20rpx; +} + +/* ================== + 聊天 + ==================== */ + +chat { + display: flex; + flex-direction: column; +} + +chat item { + display: flex; + padding: 30rpx 30rpx 70rpx; + position: relative; +} + +chat item>avatar { + width: 80rpx; + height: 80rpx; +} + +chat item>.main { + max-width: calc(100% - 260rpx); + margin: 0 40rpx; + display: flex; + align-items: center; +} + +chat item>image { + height: 320rpx; +} + +chat item>.main .content { + background: #fff; + padding: 20rpx; + border-radius: 6rpx; + display: inline-flex; + max-width: 100%; + align-items: center; + color: #666; + font-size: 30rpx; + position: relative; + min-height: 80rpx; + line-height: 40rpx; + text-align: left; +} + +chat item .date { + position: absolute; + font-size: 24rpx; + color: #aaa; + width: calc(100% - 320rpx); + bottom: 20rpx; + left: 160rpx; +} + +chat item .action { + padding: 0 30rpx; + display: flex; + align-items: center; +} + +chat item>.main .content::after { + content: ""; + top: 24rpx; + transform: rotate(180deg); + position: absolute; + z-index: 100; + display: inline-block; + width: 0; + height: 0; + vertical-align: middle; + border-bottom: 16rpx solid transparent; + border-top: 16rpx solid transparent; + overflow: hidden; + border-right-color: #fff; + border-left: 16rpx solid #333; + border-right: 0 dotted; + border-left-color: #fff; + left: -14rpx; + right: initial; +} + +chat item.self { + justify-content: flex-end; + text-align: right; +} + +chat item.self>.main .content::after { + left: auto; + right: -14rpx; + border-right: 16rpx solid #fff; + border-left: 0 dotted; +} + +chat item.self>.main .bg-green.content::after { + border-right-color: #39b50a; +} + +chat info { + display: inline-block; + margin: 20rpx auto; + font-size: 24rpx; + padding: 8rpx 12rpx; + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6rpx; + color: #fff; + max-width: 400rpx; + line-height: 1.4; +} + +/* ================== + 卡片 + ==================== */ + +card { + display: block; + overflow: hidden; +} + +card > item { + display: block; + background: #fff; + overflow: hidden; + border-radius: 10rpx; + margin: 30rpx; +} + +card > item.shadow-blur { + overflow: initial; +} + +card.no-card > item { + margin: 0rpx; + border-radius: 0rpx; +} + +card.case .image { + position: relative; +} + +card.case .image image { + width: 100%; +} + +card.case .image tag { + position: absolute; + right: 0; + top: 0; +} + +card.case .image bar { + position: absolute; + bottom: 0; + width: 100%; + background-color: transparent; + padding: 0rpx 30rpx; + word-wrap: normal; + text-overflow: ellipsis; + white-space: nowrap; +} + +card.case.no-card .image { + margin: 30rpx 30rpx 0; + overflow: hidden; + border-radius: 10rpx; +} + +card.dynamic { + display: block; +} + +card.dynamic>item { + display: block; + background-color: #fff; + overflow: hidden; +} + +card.dynamic>item > .text-content { + padding: 0 30rpx 0; + max-height: 6.4em; + overflow: hidden; + font-size: 30rpx; + margin-bottom: 20rpx; +} + +card.dynamic>item .square-img { + width: 100%; + height: 200rpx; + border-radius: 6rpx; +} + +card.dynamic>item .only-img { + width: 100%; + height: 320rpx; + border-radius: 6rpx; +} + +/* card.dynamic>item .comment { + padding: 20rpx; + background: #f1f1f1; + margin: 0 30rpx 30rpx; + border-radius: 6rpx; +} */ + +card.article { + display: block; +} + +card.article>item { + padding-bottom: 30rpx; +} + +card.article>item .title { + font-size: 30rpx; + font-weight: 900; + word-wrap: normal; + text-overflow: ellipsis; + white-space: nowrap; + color: #333; + line-height: 100rpx; + padding: 0 30rpx; +} + +card.article>item .content { + display: flex; + padding: 0 30rpx; +} + +card.article>item .content > image { + width: 240rpx; + height: 6.4em; + margin-right: 20rpx; + border-radius: 6rpx; +} + +card.article>item .content .desc { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +card.article>item .content .text-content { + font-size: 28rpx; + color: #888; + height: 4.8em; + overflow: hidden; +} + +/* ================== + 表单 + ==================== */ + +form-group { + background: #fff; + padding: 0 30rpx; + display: flex; + align-items: center; + min-height: 100rpx; + justify-content: space-between; +} + +form-group + form-group { + border-top: 1rpx solid #eee; +} + +form-group .title { + text-align: justify; + padding-right: 30rpx; + font-size: 30rpx; + position: relative; + height: 60rpx; + line-height: 60rpx; +} + +form-group.top { + align-items: baseline; +} + +form-group input { + flex: 1; + font-size: 30rpx; + color: #555; + padding-right: 20rpx; +} + +form-group > icon[class*="icon-"] { + font-size: 36rpx; + padding: 0; + box-sizing: border-box; +} + +form-group textarea, form-group textarea textarea { + margin: 32rpx 0 30rpx; + height: 4.8em; + width: 100%; + line-height: 1.2em; + flex: 1; + font-size: 28rpx; + padding: 0; + box-sizing: content-box; + display: inline-block; + vertical-align: top; +} + +form-group textarea::after { + content: "测试文字"; + opacity: 0; +} + +form-group .grid-square { + margin: 30rpx 0 0 !important; +} + +form-group picker { + flex: 1; + padding-right: 40rpx; + overflow: hidden; + position: relative; +} + +form-group picker .picker { + line-height: 100rpx; + font-size: 28rpx; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 100%; + text-align: right; +} + +form-group picker::after { + font-family: iconfont !important; + display: block; + content: "\e6a3"; + position: absolute; + font-size: 34rpx; + color: #aaa; + line-height: 100rpx; + width: 60rpx; + text-align: center; + top: 0; + bottom: 0; + right: -20rpx; + margin: auto; +} + +form-group textarea[disabled], form-group textarea[disabled] .placeholder { + color: transparent; +} + +/* ================== + 模态窗口 + ==================== */ + +modal-box { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1110; + opacity: 0; + outline: 0; + text-align: center; + -ms-transform: scale(1.185); + transform: scale(1.185); + backface-visibility: hidden; + perspective: 2000rpx; + background: rgba(0, 0, 0, 0.6); + transition: all 0.6s ease-in-out 0; + pointer-events: none; +} + +modal-box::before { + content: "\200B"; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +modal-box.show { + opacity: 1; + transition-duration: 0.3s; + -ms-transform: scale(1); + transform: scale(1); + overflow-x: hidden; + overflow-y: auto; + pointer-events: auto; +} + +dialog { + position: relative; + display: inline-block; + vertical-align: middle; + margin-left: auto; + margin-right: auto; + width: 680rpx; + max-width: 100%; + background: #f8f8f8; + border-radius: 10rpx; + overflow: hidden; +} + +modal-box.bottom-modal::before { + vertical-align: bottom; +} + +modal-box.bottom-modal dialog { + width: 100%; + border-radius: 0; +} + +modal-box.bottom-modal { + margin-bottom: -1000rpx; +} + +modal-box.bottom-modal.show { + margin-bottom: 0; +} + +/* ================== + 轮播 + ==================== */ + +swiper.square-dot .wx-swiper-dot { + background: #fff; + opacity: 0.4; + width: 10rpx !important; + height: 10rpx !important; + border-radius: 20rpx !important; + transition: all 0.3s ease-in-out 0s !important; +} + +swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active { + opacity: 1; + width: 30rpx !important; +} + +swiper.round-dot .wx-swiper-dot { + /* background: #39b54a; */ + width: 10rpx !important; + height: 10rpx !important; + top: -4rpx !important; + transition: all 0.3s ease-in-out 0s !important; + position: relative; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after { + content: ""; + position: absolute; + width: 10rpx; + height: 10rpx; + top: 0rpx; + left: 0rpx; + right: 0; + bottom: 0; + margin: auto; + background: #fff; + border-radius: 20rpx; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { + width: 18rpx !important; + height: 18rpx !important; + top: 0rpx !important; +} + +.screen-swiper { + min-height: 375rpx; +} + +.screen-swiper image { + width: 100%; + display: block; + height: 100%; + margin: 0; +} + +.card-swiper { + height: 420rpx; +} + +.card-swiper swiper-item { + width: 610rpx !important; + left: 70rpx !important; + box-sizing: border-box; + padding: 40rpx 0rpx 70rpx; + overflow: initial !important; +} + +.card-swiper swiper-item .bg-img { + width: 100%; + display: block; + height: 100%; + border-radius: 10rpx; + transform: scale(0.9); + transition: all 0.2s ease-in 0s; +} + +.card-swiper swiper-item.cur .bg-img { + transform: none; + transition: all 0.2s ease-in 0s; +} + +.tower-swiper { + height: 420rpx; + position: relative; +} + +.tower-swiper .tower-item { + position: absolute; + width: 300rpx; + height: 380rpx; + top: 0; + bottom: 0; + left: 50%; + margin: auto; + transition: all 0.3s ease-in 0s; + opacity: 1; +} + +.tower-swiper .tower-item.none { + opacity: 0; +} + +.tower-swiper .tower-item .bg-img { + width: 100%; + height: 100%; + border-radius: 6rpx; +}