diff --git a/demo/.gitattributes b/demo/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/demo/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/demo/app.json b/demo/app.json index b327cc3..5c77d4f 100644 --- a/demo/app.json +++ b/demo/app.json @@ -1,5 +1,6 @@ { "pages": [ + "pages/index/index", "pages/basics/home/home", "pages/basics/layout/layout", "pages/basics/button/button", @@ -33,7 +34,6 @@ "pages/about/test/list", "pages/about/test/filter", "pages/about/home/home", - "custom-tab-bar/index", "pages/plugin/drawer/drawer", "pages/plugin/verticalnav/verticalnav" ], @@ -43,38 +43,7 @@ "navigationStyle": "custom", "navigationBarTextStyle": "white" }, - "usingComponents": {}, - "tabBar": { - "custom": true, - "color": "#aaa", - "selectedColor": "#39b54a", - "borderStyle": "black", - "backgroundColor": "#ffffff", - "list": [ - { - "pagePath": "pages/basics/home/home", - "iconPath": "/images/tabbar/basics.png", - "selectedIconPath": "/images/tabbar/basics_cur.png", - "text": "基础" - }, - { - "pagePath": "pages/component/home/home", - "iconPath": "/images/tabbar/component.png", - "selectedIconPath": "/images/tabbar/component_cur.png", - "text": "组件" - }, - { - "pagePath": "pages/plugin/home/home", - "iconPath": "/images/tabbar/plugin.png", - "selectedIconPath": "/images/tabbar/plugin_cur.png", - "text": "扩展" - }, - { - "pagePath": "pages/about/home/home", - "iconPath": "/images/tabbar/about.png", - "selectedIconPath": "/images/tabbar/about_cur.png", - "text": "关于" - } - ] + "usingComponents": { + "cu-custom":"/colorui/components/cu-custom" } } \ No newline at end of file diff --git a/demo/app.wxss b/demo/app.wxss index 3a7b80b..8bade79 100644 --- a/demo/app.wxss +++ b/demo/app.wxss @@ -1,8 +1,8 @@ -@import "icon.wxss"; -@import "colorui.wxss"; +@import "colorui/main.wxss"; +@import "colorui/icon.wxss"; -.cu-modal.show { - z-index: 99999; +.scrollPage { + height: 100vh; } .nav-list { @@ -105,31 +105,3 @@ .text-light { font-weight: 300; } - -@keyframes show { - 0% { - transform: translateY(-50px); - } - - 60% { - transform: translateY(40rpx); - } - - 100% { - transform: translateY(0px); - } -} - -@-webkit-keyframes show { - 0% { - transform: translateY(-50px); - } - - 60% { - transform: translateY(40rpx); - } - - 100% { - transform: translateY(0px); - } -} diff --git a/demo/colorui/animation.wxss b/demo/colorui/animation.wxss new file mode 100644 index 0000000..931bb51 --- /dev/null +++ b/demo/colorui/animation.wxss @@ -0,0 +1,184 @@ +/* + Animation 微动画 + 基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28 + */ + +/* css 滤镜 控制黑白底色gif的 */ +.gif-black{ + mix-blend-mode: screen; +} +.gif-white{ + mix-blend-mode: multiply; +} + + +/* Animation css */ +[class*=animation-] { + animation-duration: .5s; + animation-timing-function: ease-out; + animation-fill-mode: both +} + +.animation-fade { + animation-name: fade; + animation-duration: .8s; + animation-timing-function: linear +} + +.animation-scale-up { + animation-name: scale-up +} + +.animation-scale-down { + animation-name: scale-down +} + +.animation-slide-top { + animation-name: slide-top +} + +.animation-slide-bottom { + animation-name: slide-bottom +} + +.animation-slide-left { + animation-name: slide-left +} + +.animation-slide-right { + animation-name: slide-right +} + +.animation-shake { + animation-name: shake +} + +.animation-reverse { + animation-direction: reverse +} + +@keyframes fade { + 0% { + opacity: 0 + } + + 100% { + opacity: 1 + } +} + +@keyframes scale-up { + 0% { + opacity: 0; + transform: scale(.2) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes scale-down { + 0% { + opacity: 0; + transform: scale(1.8) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes slide-top { + 0% { + opacity: 0; + transform: translateY(-100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes slide-bottom { + 0% { + opacity: 0; + transform: translateY(100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes shake { + + 0%, + 100% { + transform: translateX(0) + } + + 10% { + transform: translateX(-9px) + } + + 20% { + transform: translateX(8px) + } + + 30% { + transform: translateX(-7px) + } + + 40% { + transform: translateX(6px) + } + + 50% { + transform: translateX(-5px) + } + + 60% { + transform: translateX(4px) + } + + 70% { + transform: translateX(-3px) + } + + 80% { + transform: translateX(2px) + } + + 90% { + transform: translateX(-1px) + } +} + +@keyframes slide-left { + 0% { + opacity: 0; + transform: translateX(-100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} + +@keyframes slide-right { + 0% { + opacity: 0; + transform: translateX(100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} \ No newline at end of file diff --git a/demo/colorui/components/cu-custom.js b/demo/colorui/components/cu-custom.js new file mode 100644 index 0000000..0324164 --- /dev/null +++ b/demo/colorui/components/cu-custom.js @@ -0,0 +1,54 @@ +const app = getApp(); +Component({ + /** + * 组件的一些选项 + */ + options: { + addGlobalClass: true, + multipleSlots: true + }, + /** + * 组件的对外属性 + */ + properties: { + bgColor: { + type: String, + default: '' + }, + isCustom: { + type: [Boolean, String], + default: false + }, + isBack: { + type: [Boolean, String], + default: false + }, + bgImage: { + type: String, + default: '' + }, + }, + /** + * 组件的初始数据 + */ + data: { + StatusBar: app.globalData.StatusBar, + CustomBar: app.globalData.CustomBar, + Custom: app.globalData.Custom + }, + /** + * 组件的方法列表 + */ + methods: { + BackPage() { + wx.navigateBack({ + delta: 1 + }); + }, + toHome(){ + wx.reLaunch({ + url: '/pages/index/index', + }) + } + } +}) \ No newline at end of file diff --git a/demo/colorui/components/cu-custom.json b/demo/colorui/components/cu-custom.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/demo/colorui/components/cu-custom.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/demo/colorui/components/cu-custom.wxml b/demo/colorui/components/cu-custom.wxml new file mode 100644 index 0000000..e29bdf6 --- /dev/null +++ b/demo/colorui/components/cu-custom.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/colorui/components/cu-custom.wxss b/demo/colorui/components/cu-custom.wxss new file mode 100644 index 0000000..07675e2 --- /dev/null +++ b/demo/colorui/components/cu-custom.wxss @@ -0,0 +1 @@ +/* colorui/components/cu-custom.wxss */ \ No newline at end of file diff --git a/demo/icon.wxss b/demo/colorui/icon.wxss similarity index 99% rename from demo/icon.wxss rename to demo/colorui/icon.wxss index 3bd84bd..0571cdc 100644 --- a/demo/icon.wxss +++ b/demo/colorui/icon.wxss @@ -21,14 +21,16 @@ display: inline-block; } -[class*="icon-"] { - font-family: "iconfont" !important; +text[class*="icon-"], +view[class*="icon-"], +button[class*="icon-"] { + font-family: "cuIcon" !important; font-size: inherit; font-style: normal; } -@font-face {font-family: "iconfont"; +@font-face {font-family: "cuIcon"; src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831'); /* IE9*/ src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'), diff --git a/demo/colorui.wxss b/demo/colorui/main.wxss similarity index 85% rename from demo/colorui.wxss rename to demo/colorui/main.wxss index a027af1..c6142b4 100644 --- a/demo/colorui.wxss +++ b/demo/colorui/main.wxss @@ -1,6 +1,8 @@ /* - Color UI v2.0.7 | by 文晓港 - 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + ColorUi for MP-weixin v2.1.2 | by 文晓港 2019年3月28日21:24:42 + 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + 使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 + (QQ交流群:240787041) 文档:http://www.color-ui.com/ */ @@ -10,14 +12,35 @@ ==================== */ page { - background: #f1f1f1; + background-color: #f1f1f1; font-size: 28rpx; color: #333; font-family: Helvetica Neue, Helvetica, sans-serif; + /* Color 可以自定义相关配色 */ + --red: #e54d42; + --orange: #f37b1d; + --yellow: #fbbd08; + --olive: #8dc63f; + --green: #39b54a; + --cyan: #1cbbb4; + --blue: #0081ff; + --purple: #6739b6; + --mauve: #9c26b0; + --pink: #e03997; + --brown: #a5673f; + --grey: #8799a3; + --gray: #aaa; + --black: #333; + --white: #fff; + --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c); + --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24); + --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f); + --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff); + --gradualPink: linear-gradient(45deg, #ec008c, #6739b6); + --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4); } -view, text, scroll-view, swiper, button, form, input, textarea, label, navigator, -image { +view, scroll-view, swiper, button, input, textarea, label, navigator, image { box-sizing: border-box; } @@ -42,7 +65,7 @@ image { image.loading::before { content: ""; - background: #f5f5f5; + background-color: #f5f5f5; display: block; position: absolute; width: 100%; @@ -52,7 +75,7 @@ image.loading::before { image.loading::after { content: "\e7f1"; - font-family: "iconfont"; + font-family: "cuIcon"; position: absolute; top: 0; left: 0; @@ -83,7 +106,7 @@ switch, checkbox, radio { } switch::after, switch::before { - font-family: "iconfont"; + font-family: "cuIcon"; content: "\e645"; position: absolute; color: #fff !important; @@ -106,16 +129,16 @@ switch::before { left: auto; } -switch[checked]::after { +switch[checked]::after, switch.checked::after { transform: scale(1, 1); } -switch[checked]::before { +switch[checked]::before, switch.checked::before { transform: scale(0, 0); } radio::before, checkbox::before { - font-family: "iconfont"; + font-family: "cuIcon"; content: "\e645"; position: absolute; color: #fff !important; @@ -144,7 +167,7 @@ switch .wx-switch-input { } switch .wx-switch-input:not([class*="bg-"]) { - background: #aaa !important; + background: var(--grey) !important; } switch .wx-switch-input::after { @@ -193,7 +216,7 @@ checkbox .wx-checkbox-input::before, radio .wx-radio-input::before { radio.radio[checked]::after { content: ""; - background: transparent; + background-color: transparent; display: block; position: absolute; width: 8px; @@ -217,87 +240,87 @@ radio.radio[checked]::after { } .switch-sex .wx-switch-input { - background: #e54d42 !important; - border-color: #e54d42 !important; + background: var(--red) !important; + border-color: var(--red) !important; } .switch-sex[checked] .wx-switch-input { - background: #0081ff !important; - border-color: #0081ff !important; + background: var(--blue) !important; + border-color: var(--blue) !important; } switch.red[checked] .wx-switch-input, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { - border-color: #e54d42 !important; + border-color: var(--red) !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { - border-color: #f37b1d !important; + border-color: var(--orange) !important; } switch.yellow[checked] .wx-switch-input, checkbox.yellow[checked] .wx-checkbox-input, radio.yellow[checked] .wx-radio-input { - border-color: #fbbd08 !important; + border-color: var(--yellow) !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { - border-color: #8dc63f !important; + border-color: var(--olive) !important; } switch.green[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input { - border-color: #39b54a !important; + border-color: var(--green) !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { - border-color: #1cbbb4 !important; + border-color: var(--cyan) !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { - border-color: #0081ff !important; + border-color: var(--blue) !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { - border-color: #6739b6 !important; + border-color: var(--purple) !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { - border-color: #9c26b0 !important; + border-color: var(--mauve) !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { - border-color: #e03997 !important; + border-color: var(--pink) !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { - border-color: #a5673f !important; + border-color: var(--brown) !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { - border-color: #8799a3 !important; + border-color: var(--grey) !important; } switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { - border-color: #aaa !important; + border-color: var(--grey) !important; } switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { - border-color: #333 !important; + border-color: var(--black) !important; } switch.white[checked] .wx-switch-input, @@ -307,77 +330,77 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input switch.red[checked] .wx-switch-input.wx-switch-input-checked, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { - background-color: #e54d42 !important; + background-color: var(--red) !important; color: #fff !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { - background-color: #f37b1d !important; + background-color: var(--orange) !important; color: #fff !important; } 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; + background-color: var(--yellow) !important; + color: var(--black) !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { - background-color: #8dc63f !important; + background-color: var(--olive) !important; color: #fff !important; } switch.green[checked] .wx-switch-input, switch[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input, radio[checked] .wx-radio-input { - background-color: #39b54a !important; + background-color: var(--green) !important; color: #fff !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { - background-color: #1cbbb4 !important; + background-color: var(--cyan) !important; color: #fff !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { - background-color: #0081ff !important; + background-color: var(--blue) !important; color: #fff !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { - background-color: #6739b6 !important; + background-color: var(--purple) !important; color: #fff !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { - background-color: #9c26b0 !important; + background-color: var(--mauve) !important; color: #fff !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { - background-color: #e03997 !important; + background-color: var(--pink) !important; color: #fff !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { - background-color: #a5673f !important; + background-color: var(--brown) !important; color: #fff !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { - background-color: #8799a3 !important; + background-color: var(--grey) !important; color: #fff !important; } @@ -389,7 +412,7 @@ radio.gray[checked] .wx-radio-input { switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { - background-color: #333 !important; + background-color: var(--black) !important; color: #fff !important; } @@ -449,23 +472,23 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input } .solids::after { - border: 4rpx solid #eee; + border: 8rpx solid #eee; } .solids-top::after { - border-top: 4rpx solid #eee; + border-top: 8rpx solid #eee; } .solids-right::after { - border-right: 4rpx solid #eee; + border-right: 8rpx solid #eee; } .solids-bottom::after { - border-bottom: 4rpx solid #eee; + border-bottom: 8rpx solid #eee; } .solids-left::after { - border-left: 4rpx solid #eee; + border-left: 8rpx solid #eee; } /* -- 虚线 -- */ @@ -590,7 +613,7 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input transform: scale(0.5); transform-origin: 0 0; box-sizing: border-box; - border-radius: 24rpx; + border-radius: 12rpx; z-index: 1; pointer-events: none; } @@ -675,6 +698,7 @@ button.icon.lg { padding: 0rpx 16rpx; height: 48rpx; font-family: Helvetica Neue, Helvetica, sans-serif; + white-space: nowrap; } .cu-tag:not([class*="bg"]):not([class*="line"]) { @@ -776,7 +800,7 @@ button.icon.lg { } .cu-tag.badge:not([class*="bg-"]) { - background: #dd514c; + background-color: #dd514c; } .cu-tag:empty:not([class*="icon"]) { @@ -806,7 +830,7 @@ button.icon.lg { text-align: center; justify-content: center; align-items: center; - background: #ccc; + background-color: #ccc; color: #fff; white-space: nowrap; position: relative; @@ -937,7 +961,7 @@ button.icon.lg { } .cu-load::before { - font-family: "iconfont"; + font-family: "cuIcon"; display: inline-block; margin-right: 6rpx; } @@ -988,7 +1012,7 @@ button.icon.lg { margin: auto; width: 260rpx; height: 260rpx; - background: #fff; + background-color: #fff; border-radius: 10rpx; box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5); display: flex; @@ -1012,7 +1036,7 @@ button.icon.lg { .cu-load.load-modal::after { content: ""; position: absolute; - background: #fff; + background-color: #fff; border-radius: 50%; width: 200rpx; height: 200rpx; @@ -1020,7 +1044,7 @@ button.icon.lg { border-top: 6rpx solid rgba(0, 0, 0, 0.05); border-right: 6rpx solid rgba(0, 0, 0, 0.05); border-bottom: 6rpx solid rgba(0, 0, 0, 0.05); - border-left: 6rpx solid #f37b1d; + border-left: 6rpx solid var(--orange); animation: icon-spin 1s infinite linear; z-index: -1; } @@ -1097,139 +1121,51 @@ button.icon.lg { 列表 ==================== */ -.cu-list.menu { - display: block; - overflow: hidden; +.grayscale { + filter: grayscale(1); } .cu-list+.cu-list { margin-top: 30rpx; } -.cu-list.menu>.cu-item { - position: relative; +.cu-list>.cu-item { + transition: all 0.6s ease-in-out 0s; + transform: translateX(0rpx); +} + +.cu-list>.cu-item.move-cur { + transform: translateX(-260rpx); +} + +.cu-list>.cu-item .move { + position: absolute; + right: 0; display: flex; - justify-content: space-between; - align-items: center; - min-height: 100rpx; - background: #fff; - padding: 0 30rpx; + width: 260rpx; + height: 100%; + transform: translateX(100%); } -.cu-list.menu>.cu-item::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; - border-bottom: 1rpx solid #ddd; -} - -.cu-list.menu.sm-border>.cu-item::after { - width: calc(200% - 120rpx); - left: 30rpx; -} - -.cu-list.menu>.cu-item:last-child::after { - border: none; -} - -.cu-list.menu>.cu-item.cur { - background-color: #fcf7e9; -} - -.cu-list.menu-avatar>.cu-item { - padding-left: 140rpx; -} - -.cu-list.menu-avatar>.cu-item .cu-avatar { - left: 30rpx; -} - -.cu-list.menu>.cu-item .content { - line-height: 1.6em; +.cu-list>.cu-item .move view { + display: flex; flex: 1; - font-size: 30rpx; + justify-content: center; + align-items: center; } -.cu-list.menu>.cu-item button.content { - padding: 0; - justify-content: flex-start; - background-color: transparent; -} - -.cu-list.menu>.cu-item button.content::after { - display: none; -} - -.cu-list.menu>.cu-item .content>text[class*="icon"] { - margin-right: 10rpx; - display: inline-block; - width: 1.6em; - text-align: center; -} - -.cu-list.menu>.cu-item .content>image { - margin-right: 10rpx; - display: inline-block; - width: 1.6em; - height: 1.6em; - vertical-align: middle; -} - -.cu-list.menu-avatar>.cu-item .action { - text-align: center; -} - -.cu-list.menu-avatar>.cu-item .action view + view { - margin-top: 10rpx; -} - -.cu-list.menu>.cu-item .action .cu-tag:empty { - right: 10rpx; -} - -.cu-list.menu>.cu-item.arrow { - padding-right: 90rpx; -} - -.cu-list.menu>.cu-item.arrow::before { - font-family: "iconfont"; - display: block; - content: "\e6a3"; - position: absolute; - font-size: 34rpx; - color: #aaa; - line-height: 30rpx; - height: 30rpx; - width: 30rpx; - text-align: center; - top: 0rpx; - bottom: 0; - right: 30rpx; - margin: auto; -} - -.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { - border-color: #fff; -} - -.cu-list.card-menu { - margin-left: 30rpx; - margin-right: 30rpx; - border-radius: 20rpx; +.cu-list.menu-avatar { overflow: hidden; } .cu-list.menu-avatar>.cu-item { - padding-left: 140rpx; + position: relative; + display: flex; + padding-right: 30rpx; height: 140rpx; + background-color: #fff; + justify-content: flex-end; + align-items: center; } .cu-list.menu-avatar>.cu-item>.cu-avatar { @@ -1237,89 +1173,229 @@ button.icon.lg { left: 30rpx; } +.cu-list.menu-avatar>.cu-item .flex .text-cut { + max-width: 510rpx; +} + +.cu-list.menu-avatar>.cu-item .content { + position: absolute; + left: 146rpx; + width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx); + line-height: 1.6em; +} + +.cu-list.menu-avatar>.cu-item .content.flex-sub { + width: calc(100% - 96rpx - 60rpx - 20rpx); +} + +.cu-list.menu-avatar>.cu-item .content>view:first-child { + font-size: 30rpx; + display: flex; + align-items: center; +} + +.cu-list.menu-avatar>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx; +} + +.cu-list.menu-avatar>.cu-item .action { + width: 100rpx; + text-align: center; +} + +.cu-list.menu-avatar>.cu-item .action view+view { + margin-top: 10rpx; +} + +.cu-list.menu-avatar.comment>.cu-item .content { + position: relative; + left: 0; + width: auto; + flex: 1; +} + .cu-list.menu-avatar.comment>.cu-item { + padding: 30rpx 30rpx 30rpx 120rpx; height: auto; - padding-top: 30rpx; - padding-bottom: 30rpx; - padding-left: 120rpx; } .cu-list.menu-avatar.comment .cu-avatar { align-self: flex-start; } -.cu-list.menu>.cu-item .content .cu-tag.sm { - font-size: 16rpx; - line-height: 80%; - padding: 8rpx 6rpx 4rpx; - margin-top: -6rpx; +.cu-list.menu>.cu-item { + position: relative; + display: flex; + padding: 0 30rpx; + min-height: 100rpx; + background-color: #fff; + justify-content: space-between; + align-items: center; } -.cu-list.grid { +.cu-list.menu>.cu-item:last-child:after { + border: none; +} + +.cu-list.menu>.cu-item:after { + position: absolute; + top: 0; + left: 0; + box-sizing: border-box; + width: 200%; + height: 200%; + border-bottom: 1rpx solid #ddd; + border-radius: inherit; + content: " "; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; +} + +.cu-list.menu>.cu-item.grayscale { + background-color: #f5f5f5; +} + +.cu-list.menu>.cu-item.cur { + background-color: #fcf7e9; +} + +.cu-list.menu>.cu-item.arrow { + padding-right: 90rpx; +} + +.cu-list.menu>.cu-item.arrow:before { + content: "\e6a3"; + position: absolute; + top: 0; + right: 30rpx; + bottom: 0; + display: block; + margin: auto; + width: 30rpx; + height: 30rpx; + color: var(--grey); text-align: center; - background: #fff; + font-size: 34rpx; + font-family: cuIcon; + line-height: 30rpx; +} + +.cu-list.menu>.cu-item button.content { + padding: 0; + background-color: transparent; + justify-content: flex-start; +} + +.cu-list.menu>.cu-item button.content:after { + display: none; +} + +.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { + border-color: #fff; +} + +.cu-list.menu>.cu-item .content>view:first-child { + display: flex; + align-items: center; +} + +.cu-list.menu>.cu-item .content>text[class*=icon] { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + text-align: center; +} + +.cu-list.menu>.cu-item .content>image { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + height: 1.6em; + vertical-align: middle; +} + +.cu-list.menu>.cu-item .content { + font-size: 30rpx; + line-height: 1.6em; + flex: 1; +} + +.cu-list.menu>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx; +} + +.cu-list.menu>.cu-item .action .cu-tag:empty { + right: 10rpx; +} + +.cu-list.menu { + display: block; + overflow: hidden; +} + +.cu-list.menu.sm-border>.cu-item:after { + left: 30rpx; + width: calc(200% - 120rpx); } .cu-list.grid>.cu-item { - display: flex; - flex-direction: column; - padding: 20rpx 0 30rpx; position: relative; + display: flex; + padding: 20rpx 0 30rpx; transition-duration: 0s; + flex-direction: column; } -.cu-list.grid>.cu-item [class*="icon"] { - display: block; - width: 100%; - position: relative; - font-size: 48rpx; - margin-top: 20rpx; +.cu-list.grid>.cu-item:after { + position: absolute; + top: 0; + left: 0; + box-sizing: border-box; + width: 200%; + height: 200%; + border-right: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: inherit; + content: " "; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; } .cu-list.grid>.cu-item text { display: block; - color: #888; margin-top: 10rpx; - line-height: 40rpx; + color: #888; font-size: 26rpx; + line-height: 40rpx; +} + +.cu-list.grid>.cu-item [class*=icon] { + position: relative; + display: block; + margin-top: 20rpx; + width: 100%; + font-size: 48rpx; } .cu-list.grid>.cu-item .cu-tag { - left: 50%; right: auto; + left: 50%; margin-left: 20rpx; } -.cu-list.grid>.cu-item::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; - border-right: 1px solid rgba(0, 0, 0, 0.1); - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} - -.cu-list.grid.col-3>.cu-item:nth-child(3n)::after { - border-right-width: 0px; -} - -.cu-list.grid.col-4>.cu-item:nth-child(4n)::after { - border-right-width: 0px; -} - -.cu-list.grid.col-5>.cu-item:nth-child(5n)::after { - border-right-width: 0px; -} - -.cu-list.grid.no-border { - padding: 20rpx 10rpx; +.cu-list.grid { + background-color: #fff; + text-align: center; } .cu-list.grid.no-border>.cu-item { @@ -1327,33 +1403,25 @@ button.icon.lg { padding-bottom: 20rpx; } -.cu-list.grid.no-border>.cu-item::after { +.cu-list.grid.no-border>.cu-item:after { border: none; } -.cu-list>.cu-item { - transform: translateX(0rpx); - transition: all 0.6s ease-in-out 0s; +.cu-list.grid.no-border { + padding: 20rpx 10rpx; } -.cu-list>.cu-item .move { - display: flex; - width: 260rpx; - height: 100%; - position: absolute; - right: 0; - transform: translateX(100%); +.cu-list.grid.col-3>.cu-item:nth-child(3n):after, +.cu-list.grid.col-4>.cu-item:nth-child(4n):after, +.cu-list.grid.col-5>.cu-item:nth-child(5n):after { + border-right-width: 0; } -.cu-list>.cu-item.move-cur { - transform: translateX(-260rpx); -} - -.cu-list>.cu-item .move view { - flex: 1; - display: flex; - justify-content: center; - align-items: center; +.cu-list.card-menu { + overflow: hidden; + margin-right: 30rpx; + margin-left: 30rpx; + border-radius: 20rpx; } /* ================== @@ -1454,7 +1522,7 @@ button.icon.lg { margin-right: 30rpx; } -.cu-bar .action > text[class*="icon"], .cu-bar .action > view[class*="icon"] { +.cu-bar .action>text[class*="icon"], .cu-bar .action>view[class*="icon"] { font-size: 36rpx; } @@ -1503,7 +1571,7 @@ button.icon.lg { } .cu-bar .search-form { - background: #f5f5f5; + background-color: #f5f5f5; line-height: 64rpx; height: 64rpx; font-size: 24rpx; @@ -1552,7 +1620,6 @@ button.icon.lg { .cu-bar.tabbar { padding: 0; - z-index: 0; height: calc(100rpx + env(safe-area-inset-bottom) / 2); padding-bottom: calc(env(safe-area-inset-bottom) / 2); } @@ -1744,11 +1811,14 @@ button.icon.lg { .cu-custom .cu-bar { min-height: 0px; + padding-right: 200rpx; + box-shadow: 0rpx 0rpx 0rpx; + z-index: 9999; } -.cu-custom .cu-bar { - padding-right: 220rpx; - box-shadow: 0rpx 0rpx 0rpx; +.cu-custom .cu-bar .content image { + height: 60rpx; + width: 240rpx; } .cu-custom .cu-bar .border-custom { @@ -1829,7 +1899,7 @@ button.icon.lg { .cu-timeline { display: block; - background: #fff; + background-color: #fff; } .cu-timeline .cu-time { @@ -1857,7 +1927,7 @@ button.icon.lg { display: block; position: absolute; width: 1rpx; - background: #ddd; + background-color: #ddd; left: 60rpx; height: 100%; top: 0; @@ -1865,12 +1935,12 @@ button.icon.lg { } .cu-timeline>.cu-item::before { - font-family: "iconfont"; + font-family: "cuIcon"; display: block; position: absolute; top: 36rpx; z-index: 9; - background: #fff; + background-color: #fff; width: 50rpx; height: 50rpx; text-align: center; @@ -1884,7 +1954,7 @@ button.icon.lg { } .cu-timeline>.cu-item[class*="icon"]::before { - background: #fff; + background-color: #fff; width: 50rpx; height: 50rpx; text-align: center; @@ -1901,7 +1971,7 @@ button.icon.lg { } .cu-timeline>.cu-item>.content:not([class*="bg-"]) { - background: #f1f1f1; + background-color: #f1f1f1; color: #666; } @@ -1954,14 +2024,14 @@ button.icon.lg { } .cu-chat .cu-item>.main .content:not([class*="bg-"]) { - background: #fff; + background-color: #fff; color: #666; } .cu-chat .cu-item .date { position: absolute; font-size: 24rpx; - color: #aaa; + color: var(--grey); width: calc(100% - 320rpx); bottom: 20rpx; left: 160rpx; @@ -2011,7 +2081,7 @@ button.icon.lg { } .cu-chat .cu-item>.main .content:not([class*="bg-"])::before { - background-color: #333; + background-color: var(--black); opacity: 0.1; } @@ -2087,9 +2157,6 @@ button.icon.lg { width: 100%; background-color: transparent; padding: 0rpx 30rpx; - word-wrap: normal; - text-overflow: ellipsis; - white-space: nowrap; } .cu-card.case.no-card .image { @@ -2130,7 +2197,7 @@ button.icon.lg { /* card.dynamic>.cu-item .comment { padding: 20rpx; - background: #f1f1f1; + background-color: #f1f1f1; margin: 0 30rpx 30rpx; border-radius: 6rpx; } */ @@ -2146,10 +2213,7 @@ button.icon.lg { .cu-card.article>.cu-item .title { font-size: 30rpx; font-weight: 900; - word-wrap: normal; - text-overflow: ellipsis; - white-space: nowrap; - color: #333; + color: var(--black); line-height: 100rpx; padding: 0 30rpx; } @@ -2185,7 +2249,7 @@ button.icon.lg { ==================== */ .cu-form-group { - background: #fff; + background-color: #fff; padding: 1rpx 30rpx; display: flex; align-items: center; @@ -2206,10 +2270,6 @@ button.icon.lg { line-height: 60rpx; } -.cu-form-group.top { - align-items: baseline; -} - .cu-form-group input { flex: 1; font-size: 30rpx; @@ -2223,9 +2283,16 @@ button.icon.lg { box-sizing: border-box; } -.cu-form-group textarea, .cu-form-group textarea textarea { +.cu-form-group.top .title { + height: 1em; + line-height: 1; + align-self: flex-start; + margin-top: 16px; +} + +.cu-form-group textarea { margin: 32rpx 0 30rpx; - height: 4.8em; + height: 4.6em; width: 100%; line-height: 1.2em; flex: 1; @@ -2236,13 +2303,23 @@ button.icon.lg { vertical-align: top; } -.cu-form-group textarea::after { - content: "测试文字"; - opacity: 0; +.cu-form-group textarea .placeholder { + color: transparent; } -.cu-form-group .grid-square { - margin: 20rpx 0 0; +.cu-form-group textarea::after { + content: attr(data-placeholder); + color: gray; + position: absolute; + top: 0; + left: 0; + pointer-events: none; + transition: 0.2s; + opacity: 1; +} + +.cu-form-group textarea.value::after { + opacity: 0; } .cu-form-group picker { @@ -2263,12 +2340,12 @@ button.icon.lg { } .cu-form-group picker::after { - font-family: iconfont; + font-family: cuIcon; display: block; content: "\e6a3"; position: absolute; font-size: 34rpx; - color: #aaa; + color: var(--grey); line-height: 100rpx; width: 60rpx; text-align: center; @@ -2331,7 +2408,7 @@ button.icon.lg { margin-right: auto; width: 680rpx; max-width: 100%; - background: #f8f8f8; + background-color: #f8f8f8; border-radius: 10rpx; overflow: hidden; } @@ -2383,7 +2460,7 @@ button.icon.lg { ==================== */ swiper.square-dot .wx-swiper-dot { - background: #fff; + background-color: #fff; opacity: 0.4; width: 10rpx; height: 10rpx; @@ -2397,7 +2474,6 @@ swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active { } swiper.round-dot .wx-swiper-dot { - /* background: #39b54a; */ width: 10rpx; height: 10rpx; top: -4rpx; @@ -2415,7 +2491,7 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after { right: 0; bottom: 0; margin: auto; - background: #fff; + background-color: #fff; border-radius: 20rpx; } @@ -2429,11 +2505,13 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { min-height: 375rpx; } -.screen-swiper image { +.screen-swiper image, .screen-swiper video, .swiper-item image, +.swiper-item video { width: 100%; display: block; height: 100%; margin: 0; + pointer-events: none; } .card-swiper { @@ -2448,16 +2526,17 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { overflow: initial; } -.card-swiper swiper-item .bg-img { +.card-swiper swiper-item .swiper-item { width: 100%; display: block; height: 100%; border-radius: 10rpx; transform: scale(0.9); transition: all 0.2s ease-in 0s; + overflow: hidden; } -.card-swiper swiper-item.cur .bg-img { +.card-swiper swiper-item.cur .swiper-item { transform: none; transition: all 0.2s ease-in 0s; } @@ -2465,6 +2544,8 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { .tower-swiper { height: 420rpx; position: relative; + max-width: 750rpx; + overflow: hidden; } .tower-swiper .tower-item { @@ -2475,7 +2556,7 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { bottom: 0; left: 50%; margin: auto; - transition: all 0.3s ease-in 0s; + transition: all 0.2s ease-in 0s; opacity: 1; } @@ -2483,10 +2564,11 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { opacity: 0; } -.tower-swiper .tower-item .bg-img { +.tower-swiper .tower-item .swiper-item { width: 100%; height: 100%; border-radius: 6rpx; + overflow: hidden; } /* ================== @@ -2514,7 +2596,7 @@ scroll-view.cu-steps .cu-item { } .cu-steps .cu-item:not([class*="text-"]) { - color: #aaa; + color: var(--grey); } .cu-steps .cu-item [class*="icon"], .cu-steps .cu-item .num { @@ -2538,7 +2620,7 @@ scroll-view.cu-steps .cu-item { .cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after { content: "\e6a3"; - font-family: 'iconfont'; + font-family: 'cuIcon'; height: 30rpx; border-bottom-width: 0px; line-height: 30rpx; @@ -2609,7 +2691,7 @@ scroll-view.cu-steps .cu-item { .cu-steps .cu-item[class*="text-"] .num::after { content: "\e645"; - font-family: 'iconfont'; + font-family: 'cuIcon'; color: #fff; transform: translateY(0rpx); } @@ -2740,12 +2822,15 @@ scroll-view.cu-steps .cu-item { right: 0; top: 0; border-bottom-left-radius: 6rpx; + padding: 6rpx 12rpx; + height: auto; + background-color: rgba(0, 0, 0, 0.5); } -.grid.grid-square >view>text[class*="icon"] { +.grid.grid-square>view>text[class*="icon"] { font-size: 52rpx; position: absolute; - color: #aaa; + color: var(--grey); margin: auto; top: 0; bottom: 0; @@ -2757,7 +2842,7 @@ scroll-view.cu-steps .cu-item { flex-direction: column; } -.grid.grid-square > view { +.grid.grid-square>view { margin-right: 20rpx; margin-bottom: 20rpx; border-radius: 6rpx; @@ -2765,43 +2850,43 @@ scroll-view.cu-steps .cu-item { overflow: hidden; } -.grid.col-1.grid-square > view { +.grid.col-1.grid-square>view { padding-bottom: 100%; height: 0; margin-right: 0; } -.grid.col-2.grid-square > view { +.grid.col-2.grid-square>view { 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>view:nth-child(2n) { margin-right: 0; } -.grid.col-3.grid-square > view { +.grid.col-3.grid-square>view { 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>view:nth-child(3n) { margin-right: 0; } -.grid.col-4.grid-square > view { +.grid.col-4.grid-square>view { 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>view:nth-child(4n) { margin-right: 0; } -.grid.col-5.grid-square > view { +.grid.col-5.grid-square>view { padding-bottom: calc((100% - 80rpx)/5); height: 0; width: calc((100% - 80rpx)/5); @@ -3161,59 +3246,59 @@ scroll-view.cu-steps .cu-item { ==================== */ .line-red::after, .lines-red::after { - border-color: #e54d42; + border-color: var(--red); } .line-orange::after, .lines-orange::after { - border-color: #f37b1d; + border-color: var(--orange); } .line-yellow::after, .lines-yellow::after { - border-color: #fbbd08; + border-color: var(--yellow); } .line-olive::after, .lines-olive::after { - border-color: #8dc63f; + border-color: var(--olive); } .line-green::after, .lines-green::after { - border-color: #39b54a; + border-color: var(--green); } .line-cyan::after, .lines-cyan::after { - border-color: #1cbbb4; + border-color: var(--cyan); } .line-blue::after, .lines-blue::after { - border-color: #0081ff; + border-color: var(--blue); } .line-purple::after, .lines-purple::after { - border-color: #6739b6; + border-color: var(--purple); } .line-mauve::after, .lines-mauve::after { - border-color: #9c26b0; + border-color: var(--mauve); } .line-pink::after, .lines-pink::after { - border-color: #e03997; + border-color: var(--pink); } .line-brown::after, .lines-brown::after { - border-color: #a5673f; + border-color: var(--brown); } .line-grey::after, .lines-grey::after { - border-color: #8799a3; + border-color: var(--grey); } .line-gray::after, .lines-gray::after { - border-color: #aaa; + border-color: var(--grey); } .line-black::after, .lines-black::after { - border-color: #333; + border-color: var(--black); } .line-white::after, .lines-white::after { @@ -3221,62 +3306,62 @@ scroll-view.cu-steps .cu-item { } .bg-red { - background-color: #e54d42; + background-color: var(--red); color: #fff; } .bg-orange { - background-color: #f37b1d; + background-color: var(--orange); color: #fff; } .bg-yellow { - background-color: #fbbd08; - color: #333; + background-color: var(--yellow); + color: var(--black); } .bg-olive { - background-color: #8dc63f; + background-color: var(--olive); color: #fff; } .bg-green { - background-color: #39b54a; + background-color: var(--green); color: #fff; } .bg-cyan { - background-color: #1cbbb4; + background-color: var(--cyan); color: #fff; } .bg-blue { - background-color: #0081ff; + background-color: var(--blue); color: #fff; } .bg-purple { - background-color: #6739b6; + background-color: var(--purple); color: #fff; } .bg-mauve { - background-color: #9c26b0; + background-color: var(--mauve); color: #fff; } .bg-pink { - background-color: #e03997; + background-color: var(--pink); color: #fff; } .bg-brown { - background-color: #a5673f; + background-color: var(--brown); color: #fff; } .bg-grey { - background-color: #8799a3; + background-color: var(--grey); color: #fff; } @@ -3286,7 +3371,7 @@ scroll-view.cu-steps .cu-item { } .bg-black { - background-color: #333; + background-color: var(--black); color: #fff; } @@ -3306,102 +3391,102 @@ scroll-view.cu-steps .cu-item { } .bg-red.light { - color: #e54d42; - background: #fadbd9; + color: var(--red); + background-color: #fadbd9; } .bg-orange.light { - color: #f37b1d; - background: #fde6d2; + color: var(--orange); + background-color: #fde6d2; } .bg-yellow.light { - color: #fbbd08; - background: #fef2ce; + color: var(--yellow); + background-color: #fef2ce; } .bg-olive.light { - color: #8dc63f; - background: #e8f4d9; + color: var(--olive); + background-color: #e8f4d9; } .bg-green.light { - color: #39b54a; - background: #d7f0db; + color: var(--green); + background-color: #d7f0db; } .bg-cyan.light { - color: #1cbbb4; - background: #d2f1f0; + color: var(--cyan); + background-color: #d2f1f0; } .bg-blue.light { - color: #0081ff; - background: #cce6ff; + color: var(--blue); + background-color: #cce6ff; } .bg-purple.light { - color: #6739b6; - background: #e1d7f0; + color: var(--purple); + background-color: #e1d7f0; } .bg-mauve.light { - color: #9c26b0; - background: #ebd4ef; + color: var(--mauve); + background-color: #ebd4ef; } .bg-pink.light { - color: #e03997; - background: #f9d7ea; + color: var(--pink); + background-color: #f9d7ea; } .bg-brown.light { - color: #a5673f; - background: #ede1d9; + color: var(--brown); + background-color: #ede1d9; } .bg-grey.light { - color: #8799a3; - background: #e7ebed; + color: var(--grey); + background-color: #e7ebed; } .bg-gray.light { color: #666; - background: #fadbd9; + background-color: #fadbd9; } .bg-gray.light { color: #888; - background: #f1f1f1; + background-color: #f1f1f1; } .bg-gradual-red { - background-image: linear-gradient(45deg, #f43f3b, #ec008c); + background-image: var(--gradualRed); color: #fff; } .bg-gradual-orange { - background-image: linear-gradient(45deg, #ff9700, #ed1c24); + background-image: var(--gradualOrange); color: #fff; } .bg-gradual-green { - background-image: linear-gradient(45deg, #39b54a, #8dc63f); + background-image: var(--gradualGreen); color: #fff; } .bg-gradual-purple { - background-image: linear-gradient(45deg, #9000ff, #5e00ff); + background-image: var(--gradualPurple); color: #fff; } .bg-gradual-pink { - background-image: linear-gradient(45deg, #ec008c, #6739b6); + background-image: var(--gradualPink); color: #fff; } .bg-gradual-blue { - background-image: linear-gradient(45deg, #0081ff, #1cbbb4); + background-image: var(--gradualBlue); color: #fff; } @@ -3468,7 +3553,7 @@ scroll-view.cu-steps .cu-item { } .bg-mask { - background-color: #333; + background-color: var(--black); position: relative; } @@ -3478,7 +3563,7 @@ scroll-view.cu-steps .cu-item { width: 100%; height: 100%; display: block; - background-color: rgba(0, 0, 0, 0.5); + background-color: rgba(0, 0, 0, 0.4); position: absolute; left: 0; right: 0; @@ -3491,10 +3576,6 @@ scroll-view.cu-steps .cu-item { position: relative; } -.bg-mask>cover-view { - background-color: rgba(0, 0, 0, 0.5); -} - .bg-video { position: relative; } @@ -3592,61 +3673,65 @@ scroll-view.cu-steps .cu-item { } .text-red, .line-red, .lines-red { - color: #e54d42; + color: var(--red); } .text-orange, .line-orange, .lines-orange { - color: #f37b1d; + color: var(--orange); } .text-yellow, .line-yellow, .lines-yellow { - color: #fbbd08; + color: var(--yellow); } .text-olive, .line-olive, .lines-olive { - color: #8dc63f; + color: var(--olive); } .text-green, .line-green, .lines-green { - color: #39b54a; + color: var(--green); } .text-cyan, .line-cyan, .lines-cyan { - color: #1cbbb4; + color: var(--cyan); } .text-blue, .line-blue, .lines-blue { - color: #0081ff; + color: var(--blue); } .text-purple, .line-purple, .lines-purple { - color: #6739b6; + color: var(--purple); } .text-mauve, .line-mauve, .lines-mauve { - color: #9c26b0; + color: var(--mauve); } .text-pink, .line-pink, .lines-pink { - color: #e03997; + color: var(--pink); } .text-brown, .line-brown, .lines-brown { - color: #a5673f; + color: var(--brown); } .text-grey, .line-grey, .lines-grey { - color: #8799a3; + color: var(--grey); } .text-gray, .line-gray, .lines-gray { - color: #aaa; + color: var(--grey); } .text-black, .line-black, .lines-black { - color: #333; + color: var(--black); } .text-white, .line-white, .lines-white { color: #fff; } + +.text-shadow { + text-shadow: 2rpx 4rpx 6rpx rgba(0, 0, 0, 0.4); +} diff --git a/demo/custom-tab-bar/index.js b/demo/custom-tab-bar/index.js deleted file mode 100644 index 603b7e6..0000000 --- a/demo/custom-tab-bar/index.js +++ /dev/null @@ -1,43 +0,0 @@ -Component({ - options: { - addGlobalClass: true, - }, - data: { - selected: 0, - list: [{ - pagePath: "/pages/basics/home/home", - iconPath: "/images/tabbar/basics.png", - selectedIconPath: "/images/tabbar/basics_cur.png", - text: "基础" - }, - { - pagePath: "/pages/component/home/home", - iconPath: "/images/tabbar/component.png", - selectedIconPath: "/images/tabbar/component_cur.png", - text: "组件" - }, - { - pagePath: "/pages/plugin/home/home", - iconPath: "/images/tabbar/plugin.png", - selectedIconPath: "/images/tabbar/plugin_cur.png", - text: "扩展" - }, - { - pagePath: "/pages/about/home/home", - iconPath: "/images/tabbar/about.png", - selectedIconPath: "/images/tabbar/about_cur.png", - text: "关于" - } - ] - }, - methods: { - switchTab(e) { - const url = e.currentTarget.dataset.path - wx.switchTab({ - url - }) - } - }, - pageLifetimes: { - }, -}) \ No newline at end of file diff --git a/demo/custom-tab-bar/index.json b/demo/custom-tab-bar/index.json deleted file mode 100644 index 32640e0..0000000 --- a/demo/custom-tab-bar/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} \ No newline at end of file diff --git a/demo/custom-tab-bar/index.wxml b/demo/custom-tab-bar/index.wxml deleted file mode 100644 index e0f934e..0000000 --- a/demo/custom-tab-bar/index.wxml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - {{item.text}} - - \ No newline at end of file diff --git a/demo/custom-tab-bar/index.wxss b/demo/custom-tab-bar/index.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/demo/pages/about/about/about.wxml b/demo/pages/about/about/about.wxml index d58792c..fc3da02 100644 --- a/demo/pages/about/about/about.wxml +++ b/demo/pages/about/about/about.wxml @@ -1,11 +1,4 @@ - - - - 关于 - - - - +返回关于 关于ColorUI组件库 diff --git a/demo/pages/about/home/home.js b/demo/pages/about/home/home.js index 9d9c704..bbf5c5e 100644 --- a/demo/pages/about/home/home.js +++ b/demo/pages/about/home/home.js @@ -1,39 +1,43 @@ Component({ + options: { + addGlobalClass: true, + }, data: { starCount: 0, forksCount: 0, visitTotal: 0, }, - methods: { - onLoad(options) { - let that = this; - wx.showLoading({ - title: '数据加载中', - mask: true, - }) - let i = 0; - numDH(); - function numDH() { - if (i < 20) { - setTimeout(function() { - that.setData({ - visitTotal: i, - forksCount: i, - visitTotal: i - }) - i++ - numDH(); - }, 20) - } else { + attached() { + console.log("success") + let that = this; + wx.showLoading({ + title: '数据加载中', + mask: true, + }) + let i = 0; + numDH(); + function numDH() { + if (i < 20) { + setTimeout(function () { that.setData({ - starCount: that.coutNum(999), - forksCount: that.coutNum(8888), - visitTotal: that.coutNum(77777) + starCount: i, + forksCount: i, + visitTotal: i }) - } + i++ + numDH(); + }, 20) + } else { + that.setData({ + starCount: that.coutNum(999), + forksCount: that.coutNum(8888), + visitTotal: that.coutNum(77777) + }) } - wx.hideLoading() - }, + } + wx.hideLoading() + }, + methods: { coutNum(e) { if (e > 1000 && e < 10000) { e = (e / 1000).toFixed(1) + 'k' @@ -70,15 +74,5 @@ Component({ current: 'https://image.weilanwl.com/color2.0/zanCode.jpg' // 当前显示图片的http链接 }) }, - }, - pageLifetimes: { - show() { - if (typeof this.getTabBar === 'function' && - this.getTabBar()) { - this.getTabBar().setData({ - selected: 3 - }) - } - } } }) \ No newline at end of file diff --git a/demo/pages/about/home/home.json b/demo/pages/about/home/home.json index 9e26dfe..32640e0 100644 --- a/demo/pages/about/home/home.json +++ b/demo/pages/about/home/home.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "component": true +} \ No newline at end of file diff --git a/demo/pages/about/home/home.wxml b/demo/pages/about/home/home.wxml index 3b660a8..4d9307f 100644 --- a/demo/pages/about/home/home.wxml +++ b/demo/pages/about/home/home.wxml @@ -1,67 +1,68 @@ - - - ColorUI组件库 - v2.0 - - - By:文晓港 - - - - - - {{visitTotal}} + + + + ColorUI组件库 + v2.0 + - View + By:文晓港 + + - - {{starCount}} - - Star - - - {{forksCount}} - - Fork - - - - - - - GitHub + + + {{visitTotal}} + + View + + + {{starCount}} + + Star + + + {{forksCount}} + + Fork - - - - 关于ColorUI组件库 - - - - - - 日志 - - - - - - 赞赏支持 + + + + + GitHub + + + + + + 关于ColorUI组件库 + + + + + + 日志 + + + + + + 赞赏支持 + + + + + + + + + Bug测试 + - - - - - - - Bug测试 - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/demo/pages/about/log/log.wxml b/demo/pages/about/log/log.wxml index 9ff77b9..2d81f78 100644 --- a/demo/pages/about/log/log.wxml +++ b/demo/pages/about/log/log.wxml @@ -1,18 +1,35 @@ - - - - 日志 - - - +返回日志 - + + + v2.1.2 + 2019/03/28 + + + 1.图标修改了字体名称,避免冲突 + 2.优化了消息列表 + 3.更改自定义Tabbar的方案 + 4.修复列表组件样式 + 5.轮播图支持视频(ios/兼容差,暂时去掉) + 6.优化堆叠轮播图 + 7.优化聊天页输入框聚焦问题 + 8.表单多图上传优化,文本框优化 + 9.优化全屏抽屉扩展 + 10.全屏垂直导航支持双向联动 + 11.优化源码细节,精简代码 + + *ColorUI支持UniApp开发了!UniApp版本请移步官方插件市场 https://ext.dcloud.net.cn/plugin?id=239 + + + + + v2.0.7 2019/02/25 - + 1.新增操作条胶囊样式,优化全屏操作条 2.优化iPhone X的Tabbar样式 3.新增全屏抽屉插件 @@ -20,13 +37,13 @@ - + v2.0.6 2019/02/09 - + 1.修复行距带来的垂直不居中问题 2.优化操作条组件,新增多种样式 3.优化背景颜色(某些组件的默认背景调整,移除一些important) @@ -35,13 +52,13 @@ - + v2.0.5 2019/01/13 - + 1.修复时间线图标显示问题 2.switch、radio、checkbox单位改成px,抛弃小尺寸 3.更新多种窗口组件 @@ -52,13 +69,13 @@ - + v2.0.4 2019/01/10 - + 1.抛弃标签选择器,改成类名选择器 2.动画改成Gif,并新增动画 3.修复一些图标错位问题 @@ -67,13 +84,13 @@ - + v2.0.3 2019/01/06 - + 1.修复一些单位错误(带输入框的操作条) 2.纠正一些单词拼写... 3.抛弃icon标签,改回text标签的写法 @@ -83,13 +100,13 @@ - + v2.0.2 2018/12/24 - + 1.首页增加分享 2.卡片页修复switch开关问题 3.优化首页动画效果(ios表现不佳) @@ -101,13 +118,13 @@ - + v2.0.1 2018/12/20 - 2.0新版本上线 + 2.0新版本上线 \ No newline at end of file diff --git a/demo/pages/about/test/filter.js b/demo/pages/about/test/filter.js index 14837bf..ccc5464 100644 --- a/demo/pages/about/test/filter.js +++ b/demo/pages/about/test/filter.js @@ -1,9 +1,5 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - ColorList: app.globalData.ColorList, scrollLeft: 0, TabCur: 0, }, @@ -13,5 +9,5 @@ Page({ TabCur: e.currentTarget.dataset.id, scrollLeft: (e.currentTarget.dataset.id - 1) * 60 }) - }, -}); + } +}) diff --git a/demo/pages/about/test/filter.wxml b/demo/pages/about/test/filter.wxml index c273c03..ba29454 100644 --- a/demo/pages/about/test/filter.wxml +++ b/demo/pages/about/test/filter.wxml @@ -1,28 +1,21 @@ - - - - filter:blur引起的ios花屏测试 - - - +filter:blur引起的ios花屏测试 - + Tab{{index}} - - - 阴影层 + + 阴影层 - + 去掉动画 - - 去掉after + + 去掉after - + 去掉动画和after diff --git a/demo/pages/about/test/list.js b/demo/pages/about/test/list.js index 14837bf..ccc5464 100644 --- a/demo/pages/about/test/list.js +++ b/demo/pages/about/test/list.js @@ -1,9 +1,5 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - ColorList: app.globalData.ColorList, scrollLeft: 0, TabCur: 0, }, @@ -13,5 +9,5 @@ Page({ TabCur: e.currentTarget.dataset.id, scrollLeft: (e.currentTarget.dataset.id - 1) * 60 }) - }, -}); + } +}) diff --git a/demo/pages/about/test/list.wxml b/demo/pages/about/test/list.wxml index 68275f1..322fe4d 100644 --- a/demo/pages/about/test/list.wxml +++ b/demo/pages/about/test/list.wxml @@ -1,15 +1,6 @@ - - - - 测试 - - - - - +测试 + + filter:blur引起的ios花屏测试 - \ No newline at end of file diff --git a/demo/pages/about/test/list.wxss b/demo/pages/about/test/list.wxss index e213789..e69de29 100644 --- a/demo/pages/about/test/list.wxss +++ b/demo/pages/about/test/list.wxss @@ -1 +0,0 @@ -/* miniprogram/pages/about/test/list.wxss */ \ No newline at end of file diff --git a/demo/pages/basics/avatar/avatar.js b/demo/pages/basics/avatar/avatar.js index 6ddcdb9..5a911d0 100644 --- a/demo/pages/basics/avatar/avatar.js +++ b/demo/pages/basics/avatar/avatar.js @@ -1,14 +1,12 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, ColorList: app.globalData.ColorList, - }, - onLoad: function() {}, - pageBack() { - wx.navigateBack({ - delta: 1 - }); + avatar: [ + 'https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg', + 'https://ossweb-img.qq.com/images/lol/web201310/skin/big81005.jpg', + 'https://ossweb-img.qq.com/images/lol/web201310/skin/big25002.jpg', + 'https://ossweb-img.qq.com/images/lol/web201310/skin/big91012.jpg' + ], } -}); +}) diff --git a/demo/pages/basics/avatar/avatar.wxml b/demo/pages/basics/avatar/avatar.wxml index 1e4bdb0..db432a1 100644 --- a/demo/pages/basics/avatar/avatar.wxml +++ b/demo/pages/basics/avatar/avatar.wxml @@ -1,29 +1,23 @@ - - - - 头像 - - - +返回头像 - - 头像形状 + + 头像形状 - - + + - - 头像尺寸 + + 头像尺寸 - - - - + + + + A @@ -38,17 +32,17 @@ wl - 网络 + 网络 - - 内嵌文字(图标) + + 内嵌文字(图标) - + @@ -56,33 +50,33 @@ - - 头像颜色 + + 头像颜色 - {{item.name}} + {{item.name}} - - 头像组 + + 头像组 - + - + - - 头像标签 + + 头像标签 - - + + \ No newline at end of file diff --git a/demo/pages/basics/avatar/avatar.wxss b/demo/pages/basics/avatar/avatar.wxss index 118c9a6..e69de29 100644 --- a/demo/pages/basics/avatar/avatar.wxss +++ b/demo/pages/basics/avatar/avatar.wxss @@ -1 +0,0 @@ -/* pages/basics/avatar/avatar.wxss */ \ No newline at end of file diff --git a/demo/pages/basics/background/background.js b/demo/pages/basics/background/background.js index 3c82038..781b547 100644 --- a/demo/pages/basics/background/background.js +++ b/demo/pages/basics/background/background.js @@ -1,11 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - ColorList: app.globalData.ColorList, - - }, - onLoad: function() {}, - + ColorList: app.globalData.ColorList + } }) \ No newline at end of file diff --git a/demo/pages/basics/background/background.wxml b/demo/pages/basics/background/background.wxml index b466a4f..4e9571b 100644 --- a/demo/pages/basics/background/background.wxml +++ b/demo/pages/basics/background/background.wxml @@ -1,130 +1,122 @@ - - - - 背景颜色 - - - - + + 返回 + 背景颜色 + - - 深色背景 + + 深色背景 - - - + + + {{item.title}} - {{item.name}} + {{item.name}} - - 淡色背景 + + 淡色背景 - - - + + + {{item.title}} - {{item.name}} + {{item.name}} - - 渐变背景 + + 渐变背景 - - - + + + 魅红 - #f43f3b - #ec008c + #f43f3b - #ec008c - - + + 鎏金 - #ff9700 - #ed1c24 + #ff9700 - #ed1c24 - - + + 翠柳 - #39b54a - #8dc63f + #39b54a - #8dc63f - - + + 靛青 - #0081ff - #1cbbb4 + #0081ff - #1cbbb4 - - + + 惑紫 - #9000ff - #5e00ff + #9000ff - #5e00ff - - + + 霞彩 - #ec008c - #6739b6 + #ec008c - #6739b6 - - 图片背景 + + 图片背景 - - - - 我和春天有个约会 + + + + 钢铁之翼 - - I Have a Date with Spring + + Only the guilty need fear me. - - - 视频背景 + - - 透明背景(文字层) + + 透明背景(文字层) - - - - - 上面开始 - + + + + 上面开始 - - - - 下面开始 - + + + 下面开始 \ No newline at end of file diff --git a/demo/pages/basics/button/button.js b/demo/pages/basics/button/button.js index a20e9a6..8b71a56 100644 --- a/demo/pages/basics/button/button.js +++ b/demo/pages/basics/button/button.js @@ -1,8 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, ColorList: app.globalData.ColorList, }, SetShadow(e) { @@ -14,5 +12,5 @@ Page({ this.setData({ bordersize: e.detail.value }) - }, -}); + } +}) diff --git a/demo/pages/basics/button/button.wxml b/demo/pages/basics/button/button.wxml index 691e0a4..b70aa8d 100644 --- a/demo/pages/basics/button/button.wxml +++ b/demo/pages/basics/button/button.wxml @@ -1,99 +1,96 @@ - - - - 按钮 - - - - 设计 - - - + + 返回 + 按钮 + - - 按钮形状 + + 按钮形状 + + + 设计 + - - - + + - - 按钮尺寸 + + 按钮尺寸 - - - + + + - - 按钮颜色 + + 按钮颜色 - - 阴影 - + + 阴影 + - - - + + + - - 镂空按钮 + + 镂空按钮 - - - - - - + + + - - 块状按钮 + + 块状按钮 - - + + - - 无效状态 + + 无效状态 - - + + - - 按钮加图标 + + 按钮加图标 - - - + + + \ No newline at end of file diff --git a/demo/pages/basics/button/design.js b/demo/pages/basics/button/design.js index 5296154..50de185 100644 --- a/demo/pages/basics/button/design.js +++ b/demo/pages/basics/button/design.js @@ -1,8 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, ColorList: app.globalData.ColorList, }, showModal(e) { @@ -55,5 +53,5 @@ Page({ this.setData({ block: e.detail.value }) - }, -}); + } +}) diff --git a/demo/pages/basics/button/design.wxml b/demo/pages/basics/button/design.wxml index 6ac4ee7..84f508f 100644 --- a/demo/pages/basics/button/design.wxml +++ b/demo/pages/basics/button/design.wxml @@ -1,80 +1,67 @@ - - - - 按钮 / 设计 - - - +返回按钮 / 设计 - + - class="cu-btn {{border?"line":"bg"}}{{bordersize?bordersize:""}}-{{color}} {{round?"round":""}} {{size}} {{shadow?"shadow":""}} {{block?"block":""}}" + class="cu-btn {{border?'line':'bg'}}{{bordersize?bordersize:''}}-{{color}} {{round?'round':''}} {{size}} {{shadow?'shadow':''}} {{block?'block':''}}" - - 选择颜色 - + 选择颜色 + - 是否圆角 - + 是否圆角 + - 选择尺寸 - - - 是否添加阴影 - + 是否添加阴影 + - 是否镂空 - + 是否镂空 + - 边框大小 - - - - - - - 选择颜色 - - + + 选择颜色 + + - - - {{item.title}} + + + {{item.title}} diff --git a/demo/pages/basics/button/design.wxss b/demo/pages/basics/button/design.wxss index 8d54dc9..413d562 100644 --- a/demo/pages/basics/button/design.wxss +++ b/demo/pages/basics/button/design.wxss @@ -2,5 +2,5 @@ display: flex; align-items: center; justify-content: center; - height: 100px; + height: 200rpx; } \ No newline at end of file diff --git a/demo/pages/basics/form/form.wxml b/demo/pages/basics/form/form.wxml index 53be8ed..c255a85 100644 --- a/demo/pages/basics/form/form.wxml +++ b/demo/pages/basics/form/form.wxml @@ -1,11 +1,4 @@ - - - - - 表单控件 - - - +返回表单控件 diff --git a/demo/pages/basics/home/home.js b/demo/pages/basics/home/home.js index 4b5d99d..0a34b6a 100644 --- a/demo/pages/basics/home/home.js +++ b/demo/pages/basics/home/home.js @@ -1,4 +1,7 @@ Component({ + options: { + addGlobalClass: true, + }, data: { elements: [{ title: '布局', @@ -94,13 +97,4 @@ Component({ } }, }, - pageLifetimes: { - show() { - if (typeof this.getTabBar === 'function' && this.getTabBar()) { - this.getTabBar().setData({ - selected: 0 - }) - } - } - } }) \ No newline at end of file diff --git a/demo/pages/basics/home/home.json b/demo/pages/basics/home/home.json index 9e26dfe..32640e0 100644 --- a/demo/pages/basics/home/home.json +++ b/demo/pages/basics/home/home.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "component": true +} \ No newline at end of file diff --git a/demo/pages/basics/home/home.wxml b/demo/pages/basics/home/home.wxml index 6a9351d..5dc0d3c 100644 --- a/demo/pages/basics/home/home.wxml +++ b/demo/pages/basics/home/home.wxml @@ -1,9 +1,11 @@ - - - - {{item.title}} - {{item.name}} - - - - \ No newline at end of file + + + + + {{item.title}} + {{item.name}} + + + + + \ No newline at end of file diff --git a/demo/pages/basics/icon/icon.js b/demo/pages/basics/icon/icon.js index d4a589d..f1bd8a9 100644 --- a/demo/pages/basics/icon/icon.js +++ b/demo/pages/basics/icon/icon.js @@ -1,899 +1,8 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, - icon: [{ - name: 'appreciate', - isShow: true - }, { - name: 'check', - isShow: true - }, { - name: 'close', - isShow: true - }, { - name: 'edit', - isShow: true - }, { - name: 'emoji', - isShow: true - }, { - name: 'favorfill', - isShow: true - }, { - name: 'favor', - isShow: true - }, { - name: 'loading', - isShow: true - }, { - name: 'locationfill', - isShow: true - }, { - name: 'location', - isShow: true - }, { - name: 'phone', - isShow: true - }, { - name: 'roundcheckfill', - isShow: true - }, { - name: 'roundcheck', - isShow: true - }, { - name: 'roundclosefill', - isShow: true - }, { - name: 'roundclose', - isShow: true - }, { - name: 'roundrightfill', - isShow: true - }, { - name: 'roundright', - isShow: true - }, { - name: 'search', - isShow: true - }, { - name: 'taxi', - isShow: true - }, { - name: 'timefill', - isShow: true - }, { - name: 'time', - isShow: true - }, { - name: 'unfold', - isShow: true - }, { - name: 'warnfill', - isShow: true - }, { - name: 'warn', - isShow: true - }, { - name: 'camerafill', - isShow: true - }, { - name: 'camera', - isShow: true - }, { - name: 'commentfill', - isShow: true - }, { - name: 'comment', - isShow: true - }, { - name: 'likefill', - isShow: true - }, { - name: 'like', - isShow: true - }, { - name: 'notificationfill', - isShow: true - }, { - name: 'notification', - isShow: true - }, { - name: 'order', - isShow: true - }, { - name: 'samefill', - isShow: true - }, { - name: 'same', - isShow: true - }, { - name: 'deliver', - isShow: true - }, { - name: 'evaluate', - isShow: true - }, { - name: 'pay', - isShow: true - }, { - name: 'send', - isShow: true - }, { - name: 'shop', - isShow: true - }, { - name: 'ticket', - isShow: true - }, { - name: 'back', - isShow: true - }, { - name: 'cascades', - isShow: true - }, { - name: 'discover', - isShow: true - }, { - name: 'list', - isShow: true - }, { - name: 'more', - isShow: true - }, { - name: 'scan', - isShow: true - }, { - name: 'settings', - isShow: true - }, { - name: 'questionfill', - isShow: true - }, { - name: 'question', - isShow: true - }, { - name: 'shopfill', - isShow: true - }, { - name: 'form', - isShow: true - }, { - name: 'pic', - isShow: true - }, { - name: 'filter', - isShow: true - }, { - name: 'footprint', - isShow: true - }, { - name: 'top', - isShow: true - }, { - name: 'pulldown', - isShow: true - }, { - name: 'pullup', - isShow: true - }, { - name: 'right', - isShow: true - }, { - name: 'refresh', - isShow: true - }, { - name: 'moreandroid', - isShow: true - }, { - name: 'deletefill', - isShow: true - }, { - name: 'refund', - isShow: true - }, { - name: 'cart', - isShow: true - }, { - name: 'qrcode', - isShow: true - }, { - name: 'remind', - isShow: true - }, { - name: 'delete', - isShow: true - }, { - name: 'profile', - isShow: true - }, { - name: 'home', - isShow: true - }, { - name: 'cartfill', - isShow: true - }, { - name: 'discoverfill', - isShow: true - }, { - name: 'homefill', - isShow: true - }, { - name: 'message', - isShow: true - }, { - name: 'addressbook', - isShow: true - }, { - name: 'link', - isShow: true - }, { - name: 'lock', - isShow: true - }, { - name: 'unlock', - isShow: true - }, { - name: 'vip', - isShow: true - }, { - name: 'weibo', - isShow: true - }, { - name: 'activity', - isShow: true - }, { - name: 'friendaddfill', - isShow: true - }, { - name: 'friendadd', - isShow: true - }, { - name: 'friendfamous', - isShow: true - }, { - name: 'friend', - isShow: true - }, { - name: 'goods', - isShow: true - }, { - name: 'selection', - isShow: true - }, { - name: 'explore', - isShow: true - }, { - name: 'present', - isShow: true - }, { - name: 'squarecheckfill', - isShow: true - }, { - name: 'square', - isShow: true - }, { - name: 'squarecheck', - isShow: true - }, { - name: 'round', - isShow: true - }, { - name: 'roundaddfill', - isShow: true - }, { - name: 'roundadd', - isShow: true - }, { - name: 'add', - isShow: true - }, { - name: 'notificationforbidfill', - isShow: true - }, { - name: 'explorefill', - isShow: true - }, { - name: 'fold', - isShow: true - }, { - name: 'game', - isShow: true - }, { - name: 'redpacket', - isShow: true - }, { - name: 'selectionfill', - isShow: true - }, { - name: 'similar', - isShow: true - }, { - name: 'appreciatefill', - isShow: true - }, { - name: 'infofill', - isShow: true - }, { - name: 'info', - isShow: true - }, { - name: 'forwardfill', - isShow: true - }, { - name: 'forward', - isShow: true - }, { - name: 'rechargefill', - isShow: true - }, { - name: 'recharge', - isShow: true - }, { - name: 'vipcard', - isShow: true - }, { - name: 'voice', - isShow: true - }, { - name: 'voicefill', - isShow: true - }, { - name: 'friendfavor', - isShow: true - }, { - name: 'wifi', - isShow: true - }, { - name: 'share', - isShow: true - }, { - name: 'wefill', - isShow: true - }, { - name: 'we', - isShow: true - }, { - name: 'lightauto', - isShow: true - }, { - name: 'lightforbid', - isShow: true - }, { - name: 'lightfill', - isShow: true - }, { - name: 'camerarotate', - isShow: true - }, { - name: 'light', - isShow: true - }, { - name: 'barcode', - isShow: true - }, { - name: 'flashlightclose', - isShow: true - }, { - name: 'flashlightopen', - isShow: true - }, { - name: 'searchlist', - isShow: true - }, { - name: 'service', - isShow: true - }, { - name: 'sort', - isShow: true - }, { - name: 'down', - isShow: true - }, { - name: 'mobile', - isShow: true - }, { - name: 'mobilefill', - isShow: true - }, { - name: 'copy', - isShow: true - }, { - name: 'countdownfill', - isShow: true - }, { - name: 'countdown', - isShow: true - }, { - name: 'noticefill', - isShow: true - }, { - name: 'notice', - isShow: true - }, { - name: 'upstagefill', - isShow: true - }, { - name: 'upstage', - isShow: true - }, { - name: 'babyfill', - isShow: true - }, { - name: 'baby', - isShow: true - }, { - name: 'brandfill', - isShow: true - }, { - name: 'brand', - isShow: true - }, { - name: 'choicenessfill', - isShow: true - }, { - name: 'choiceness', - isShow: true - }, { - name: 'clothesfill', - isShow: true - }, { - name: 'clothes', - isShow: true - }, { - name: 'creativefill', - isShow: true - }, { - name: 'creative', - isShow: true - }, { - name: 'female', - isShow: true - }, { - name: 'keyboard', - isShow: true - }, { - name: 'male', - isShow: true - }, { - name: 'newfill', - isShow: true - }, { - name: 'new', - isShow: true - }, { - name: 'pullleft', - isShow: true - }, { - name: 'pullright', - isShow: true - }, { - name: 'rankfill', - isShow: true - }, { - name: 'rank', - isShow: true - }, { - name: 'bad', - isShow: true - }, { - name: 'cameraadd', - isShow: true - }, { - name: 'focus', - isShow: true - }, { - name: 'friendfill', - isShow: true - }, { - name: 'cameraaddfill', - isShow: true - }, { - name: 'apps', - isShow: true - }, { - name: 'paintfill', - isShow: true - }, { - name: 'paint', - isShow: true - }, { - name: 'picfill', - isShow: true - }, { - name: 'refresharrow', - isShow: true - }, { - name: 'colorlens', - isShow: true - }, { - name: 'markfill', - isShow: true - }, { - name: 'mark', - isShow: true - }, { - name: 'presentfill', - isShow: true - }, { - name: 'repeal', - isShow: true - }, { - name: 'album', - isShow: true - }, { - name: 'peoplefill', - isShow: true - }, { - name: 'people', - isShow: true - }, { - name: 'servicefill', - isShow: true - }, { - name: 'repair', - isShow: true - }, { - name: 'file', - isShow: true - }, { - name: 'repairfill', - isShow: true - }, { - name: 'taoxiaopu', - isShow: true - }, { - name: 'weixin', - isShow: true - }, { - name: 'attentionfill', - isShow: true - }, { - name: 'attention', - isShow: true - }, { - name: 'commandfill', - isShow: true - }, { - name: 'command', - isShow: true - }, { - name: 'communityfill', - isShow: true - }, { - name: 'community', - isShow: true - }, { - name: 'read', - isShow: true - }, { - name: 'calendar', - isShow: true - }, { - name: 'cut', - isShow: true - }, { - name: 'magic', - isShow: true - }, { - name: 'backwardfill', - isShow: true - }, { - name: 'playfill', - isShow: true - }, { - name: 'stop', - isShow: true - }, { - name: 'tagfill', - isShow: true - }, { - name: 'tag', - isShow: true - }, { - name: 'group', - isShow: true - }, { - name: 'all', - isShow: true - }, { - name: 'backdelete', - isShow: true - }, { - name: 'hotfill', - isShow: true - }, { - name: 'hot', - isShow: true - }, { - name: 'post', - isShow: true - }, { - name: 'radiobox', - isShow: true - }, { - name: 'rounddown', - isShow: true - }, { - name: 'upload', - isShow: true - }, { - name: 'writefill', - isShow: true - }, { - name: 'write', - isShow: true - }, { - name: 'radioboxfill', - isShow: true - }, { - name: 'punch', - isShow: true - }, { - name: 'shake', - isShow: true - }, { - name: 'move', - isShow: true - }, { - name: 'safe', - isShow: true - }, { - name: 'activityfill', - isShow: true - }, { - name: 'crownfill', - isShow: true - }, { - name: 'crown', - isShow: true - }, { - name: 'goodsfill', - isShow: true - }, { - name: 'messagefill', - isShow: true - }, { - name: 'profilefill', - isShow: true - }, { - name: 'sound', - isShow: true - }, { - name: 'sponsorfill', - isShow: true - }, { - name: 'sponsor', - isShow: true - }, { - name: 'upblock', - isShow: true - }, { - name: 'weblock', - isShow: true - }, { - name: 'weunblock', - isShow: true - }, { - name: 'my', - isShow: true - }, { - name: 'myfill', - isShow: true - }, { - name: 'emojifill', - isShow: true - }, { - name: 'emojiflashfill', - isShow: true - }, { - name: 'flashbuyfill', - isShow: true - }, { - name: 'text', - isShow: true - }, { - name: 'goodsfavor', - isShow: true - }, { - name: 'musicfill', - isShow: true - }, { - name: 'musicforbidfill', - isShow: true - }, { - name: 'card', - isShow: true - }, { - name: 'triangledownfill', - isShow: true - }, { - name: 'triangleupfill', - isShow: true - }, { - name: 'roundleftfill-copy', - isShow: true - }, { - name: 'font', - isShow: true - }, { - name: 'title', - isShow: true - }, { - name: 'recordfill', - isShow: true - }, { - name: 'record', - isShow: true - }, { - name: 'cardboardfill', - isShow: true - }, { - name: 'cardboard', - isShow: true - }, { - name: 'formfill', - isShow: true - }, { - name: 'coin', - isShow: true - }, { - name: 'cardboardforbid', - isShow: true - }, { - name: 'circlefill', - isShow: true - }, { - name: 'circle', - isShow: true - }, { - name: 'attentionforbid', - isShow: true - }, { - name: 'attentionforbidfill', - isShow: true - }, { - name: 'attentionfavorfill', - isShow: true - }, { - name: 'attentionfavor', - isShow: true - }, { - name: 'titles', - isShow: true - }, { - name: 'icloading', - isShow: true - }, { - name: 'full', - isShow: true - }, { - name: 'mail', - isShow: true - }, { - name: 'peoplelist', - isShow: true - }, { - name: 'goodsnewfill', - isShow: true - }, { - name: 'goodsnew', - isShow: true - }, { - name: 'medalfill', - isShow: true - }, { - name: 'medal', - isShow: true - }, { - name: 'newsfill', - isShow: true - }, { - name: 'newshotfill', - isShow: true - }, { - name: 'newshot', - isShow: true - }, { - name: 'news', - isShow: true - }, { - name: 'videofill', - isShow: true - }, { - name: 'video', - isShow: true - }, { - name: 'exit', - isShow: true - }, { - name: 'skinfill', - isShow: true - }, { - name: 'skin', - isShow: true - }, { - name: 'moneybagfill', - isShow: true - }, { - name: 'usefullfill', - isShow: true - }, { - name: 'usefull', - isShow: true - }, { - name: 'moneybag', - isShow: true - }, { - name: 'redpacket_fill', - isShow: true - }, { - name: 'subscription', - isShow: true - }, { - name: 'loading1', - isShow: true - }, { - name: 'github', - isShow: true - }, { - name: 'global', - isShow: true - }, { - name: 'settingsfill', - isShow: true - }, { - name: 'back_android', - isShow: true - }, { - name: 'expressman', - isShow: true - }, { - name: 'evaluate_fill', - isShow: true - }, { - name: 'group_fill', - isShow: true - }, { - name: 'play_forward_fill', - isShow: true - }, { - name: 'deliver_fill', - isShow: true - }, { - name: 'notice_forbid_fill', - isShow: true - }, { - name: 'fork', - isShow: true - }, { - name: 'pick', - isShow: true - }, { - name: 'wenzi', - isShow: true - }, { - name: 'ellipse', - isShow: true - }, { - name: 'qr_code', - isShow: true - }, { - name: 'dianhua', - isShow: true - }, { - name: 'icon', - isShow: true - }, { - name: 'loading2', - isShow: true - }, { - name: 'btn', - isShow: true - }] - - + icon: [{ name: 'appreciate', isShow: true }, { name: 'check', isShow: true }, { name: 'close', isShow: true }, { name: 'edit', isShow: true }, { name: 'emoji', isShow: true }, { name: 'favorfill', isShow: true }, { name: 'favor', isShow: true }, { name: 'loading', isShow: true }, { name: 'locationfill', isShow: true }, { name: 'location', isShow: true }, { name: 'phone', isShow: true }, { name: 'roundcheckfill', isShow: true }, { name: 'roundcheck', isShow: true }, { name: 'roundclosefill', isShow: true }, { name: 'roundclose', isShow: true }, { name: 'roundrightfill', isShow: true }, { name: 'roundright', isShow: true }, { name: 'search', isShow: true }, { name: 'taxi', isShow: true }, { name: 'timefill', isShow: true }, { name: 'time', isShow: true }, { name: 'unfold', isShow: true }, { name: 'warnfill', isShow: true }, { name: 'warn', isShow: true }, { name: 'camerafill', isShow: true }, { name: 'camera', isShow: true }, { name: 'commentfill', isShow: true }, { name: 'comment', isShow: true }, { name: 'likefill', isShow: true }, { name: 'like', isShow: true }, { name: 'notificationfill', isShow: true }, { name: 'notification', isShow: true }, { name: 'order', isShow: true }, { name: 'samefill', isShow: true }, { name: 'same', isShow: true }, { name: 'deliver', isShow: true }, { name: 'evaluate', isShow: true }, { name: 'pay', isShow: true }, { name: 'send', isShow: true }, { name: 'shop', isShow: true }, { name: 'ticket', isShow: true }, { name: 'back', isShow: true }, { name: 'cascades', isShow: true }, { name: 'discover', isShow: true }, { name: 'list', isShow: true }, { name: 'more', isShow: true }, { name: 'scan', isShow: true }, { name: 'settings', isShow: true }, { name: 'questionfill', isShow: true }, { name: 'question', isShow: true }, { name: 'shopfill', isShow: true }, { name: 'form', isShow: true }, { name: 'pic', isShow: true }, { name: 'filter', isShow: true }, { name: 'footprint', isShow: true }, { name: 'top', isShow: true }, { name: 'pulldown', isShow: true }, { name: 'pullup', isShow: true }, { name: 'right', isShow: true }, { name: 'refresh', isShow: true }, { name: 'moreandroid', isShow: true }, { name: 'deletefill', isShow: true }, { name: 'refund', isShow: true }, { name: 'cart', isShow: true }, { name: 'qrcode', isShow: true }, { name: 'remind', isShow: true }, { name: 'delete', isShow: true }, { name: 'profile', isShow: true }, { name: 'home', isShow: true }, { name: 'cartfill', isShow: true }, { name: 'discoverfill', isShow: true }, { name: 'homefill', isShow: true }, { name: 'message', isShow: true }, { name: 'addressbook', isShow: true }, { name: 'link', isShow: true }, { name: 'lock', isShow: true }, { name: 'unlock', isShow: true }, { name: 'vip', isShow: true }, { name: 'weibo', isShow: true }, { name: 'activity', isShow: true }, { name: 'friendaddfill', isShow: true }, { name: 'friendadd', isShow: true }, { name: 'friendfamous', isShow: true }, { name: 'friend', isShow: true }, { name: 'goods', isShow: true }, { name: 'selection', isShow: true }, { name: 'explore', isShow: true }, { name: 'present', isShow: true }, { name: 'squarecheckfill', isShow: true }, { name: 'square', isShow: true }, { name: 'squarecheck', isShow: true }, { name: 'round', isShow: true }, { name: 'roundaddfill', isShow: true }, { name: 'roundadd', isShow: true }, { name: 'add', isShow: true }, { name: 'notificationforbidfill', isShow: true }, { name: 'explorefill', isShow: true }, { name: 'fold', isShow: true }, { name: 'game', isShow: true }, { name: 'redpacket', isShow: true }, { name: 'selectionfill', isShow: true }, { name: 'similar', isShow: true }, { name: 'appreciatefill', isShow: true }, { name: 'infofill', isShow: true }, { name: 'info', isShow: true }, { name: 'forwardfill', isShow: true }, { name: 'forward', isShow: true }, { name: 'rechargefill', isShow: true }, { name: 'recharge', isShow: true }, { name: 'vipcard', isShow: true }, { name: 'voice', isShow: true }, { name: 'voicefill', isShow: true }, { name: 'friendfavor', isShow: true }, { name: 'wifi', isShow: true }, { name: 'share', isShow: true }, { name: 'wefill', isShow: true }, { name: 'we', isShow: true }, { name: 'lightauto', isShow: true }, { name: 'lightforbid', isShow: true }, { name: 'lightfill', isShow: true }, { name: 'camerarotate', isShow: true }, { name: 'light', isShow: true }, { name: 'barcode', isShow: true }, { name: 'flashlightclose', isShow: true }, { name: 'flashlightopen', isShow: true }, { name: 'searchlist', isShow: true }, { name: 'service', isShow: true }, { name: 'sort', isShow: true }, { name: 'down', isShow: true }, { name: 'mobile', isShow: true }, { name: 'mobilefill', isShow: true }, { name: 'copy', isShow: true }, { name: 'countdownfill', isShow: true }, { name: 'countdown', isShow: true }, { name: 'noticefill', isShow: true }, { name: 'notice', isShow: true }, { name: 'upstagefill', isShow: true }, { name: 'upstage', isShow: true }, { name: 'babyfill', isShow: true }, { name: 'baby', isShow: true }, { name: 'brandfill', isShow: true }, { name: 'brand', isShow: true }, { name: 'choicenessfill', isShow: true }, { name: 'choiceness', isShow: true }, { name: 'clothesfill', isShow: true }, { name: 'clothes', isShow: true }, { name: 'creativefill', isShow: true }, { name: 'creative', isShow: true }, { name: 'female', isShow: true }, { name: 'keyboard', isShow: true }, { name: 'male', isShow: true }, { name: 'newfill', isShow: true }, { name: 'new', isShow: true }, { name: 'pullleft', isShow: true }, { name: 'pullright', isShow: true }, { name: 'rankfill', isShow: true }, { name: 'rank', isShow: true }, { name: 'bad', isShow: true }, { name: 'cameraadd', isShow: true }, { name: 'focus', isShow: true }, { name: 'friendfill', isShow: true }, { name: 'cameraaddfill', isShow: true }, { name: 'apps', isShow: true }, { name: 'paintfill', isShow: true }, { name: 'paint', isShow: true }, { name: 'picfill', isShow: true }, { name: 'refresharrow', isShow: true }, { name: 'colorlens', isShow: true }, { name: 'markfill', isShow: true }, { name: 'mark', isShow: true }, { name: 'presentfill', isShow: true }, { name: 'repeal', isShow: true }, { name: 'album', isShow: true }, { name: 'peoplefill', isShow: true }, { name: 'people', isShow: true }, { name: 'servicefill', isShow: true }, { name: 'repair', isShow: true }, { name: 'file', isShow: true }, { name: 'repairfill', isShow: true }, { name: 'taoxiaopu', isShow: true }, { name: 'weixin', isShow: true }, { name: 'attentionfill', isShow: true }, { name: 'attention', isShow: true }, { name: 'commandfill', isShow: true }, { name: 'command', isShow: true }, { name: 'communityfill', isShow: true }, { name: 'community', isShow: true }, { name: 'read', isShow: true }, { name: 'calendar', isShow: true }, { name: 'cut', isShow: true }, { name: 'magic', isShow: true }, { name: 'backwardfill', isShow: true }, { name: 'playfill', isShow: true }, { name: 'stop', isShow: true }, { name: 'tagfill', isShow: true }, { name: 'tag', isShow: true }, { name: 'group', isShow: true }, { name: 'all', isShow: true }, { name: 'backdelete', isShow: true }, { name: 'hotfill', isShow: true }, { name: 'hot', isShow: true }, { name: 'post', isShow: true }, { name: 'radiobox', isShow: true }, { name: 'rounddown', isShow: true }, { name: 'upload', isShow: true }, { name: 'writefill', isShow: true }, { name: 'write', isShow: true }, { name: 'radioboxfill', isShow: true }, { name: 'punch', isShow: true }, { name: 'shake', isShow: true }, { name: 'move', isShow: true }, { name: 'safe', isShow: true }, { name: 'activityfill', isShow: true }, { name: 'crownfill', isShow: true }, { name: 'crown', isShow: true }, { name: 'goodsfill', isShow: true }, { name: 'messagefill', isShow: true }, { name: 'profilefill', isShow: true }, { name: 'sound', isShow: true }, { name: 'sponsorfill', isShow: true }, { name: 'sponsor', isShow: true }, { name: 'upblock', isShow: true }, { name: 'weblock', isShow: true }, { name: 'weunblock', isShow: true }, { name: 'my', isShow: true }, { name: 'myfill', isShow: true }, { name: 'emojifill', isShow: true }, { name: 'emojiflashfill', isShow: true }, { name: 'flashbuyfill', isShow: true }, { name: 'text', isShow: true }, { name: 'goodsfavor', isShow: true }, { name: 'musicfill', isShow: true }, { name: 'musicforbidfill', isShow: true }, { name: 'card', isShow: true }, { name: 'triangledownfill', isShow: true }, { name: 'triangleupfill', isShow: true }, { name: 'roundleftfill-copy', isShow: true }, { name: 'font', isShow: true }, { name: 'title', isShow: true }, { name: 'recordfill', isShow: true }, { name: 'record', isShow: true }, { name: 'cardboardfill', isShow: true }, { name: 'cardboard', isShow: true }, { name: 'formfill', isShow: true }, { name: 'coin', isShow: true }, { name: 'cardboardforbid', isShow: true }, { name: 'circlefill', isShow: true }, { name: 'circle', isShow: true }, { name: 'attentionforbid', isShow: true }, { name: 'attentionforbidfill', isShow: true }, { name: 'attentionfavorfill', isShow: true }, { name: 'attentionfavor', isShow: true }, { name: 'titles', isShow: true }, { name: 'icloading', isShow: true }, { name: 'full', isShow: true }, { name: 'mail', isShow: true }, { name: 'peoplelist', isShow: true }, { name: 'goodsnewfill', isShow: true }, { name: 'goodsnew', isShow: true }, { name: 'medalfill', isShow: true }, { name: 'medal', isShow: true }, { name: 'newsfill', isShow: true }, { name: 'newshotfill', isShow: true }, { name: 'newshot', isShow: true }, { name: 'news', isShow: true }, { name: 'videofill', isShow: true }, { name: 'video', isShow: true }, { name: 'exit', isShow: true }, { name: 'skinfill', isShow: true }, { name: 'skin', isShow: true }, { name: 'moneybagfill', isShow: true }, { name: 'usefullfill', isShow: true }, { name: 'usefull', isShow: true }, { name: 'moneybag', isShow: true }, { name: 'redpacket_fill', isShow: true }, { name: 'subscription', isShow: true }, { name: 'loading1', isShow: true }, { name: 'github', isShow: true }, { name: 'global', isShow: true }, { name: 'settingsfill', isShow: true }, { name: 'back_android', isShow: true }, { name: 'expressman', isShow: true }, { name: 'evaluate_fill', isShow: true }, { name: 'group_fill', isShow: true }, { name: 'play_forward_fill', isShow: true }, { name: 'deliver_fill', isShow: true }, { name: 'notice_forbid_fill', isShow: true }, { name: 'fork', isShow: true }, { name: 'pick', isShow: true }, { name: 'wenzi', isShow: true }, { name: 'ellipse', isShow: true }, { name: 'qr_code', isShow: true }, { name: 'dianhua', isShow: true }, { name: 'icon', isShow: true }, { name: 'loading2', isShow: true }, { name: 'btn', isShow: true }] }, searchIcon(e) { let key = e.detail.value.toLowerCase(); diff --git a/demo/pages/basics/icon/icon.wxml b/demo/pages/basics/icon/icon.wxml index acd011c..6b05877 100644 --- a/demo/pages/basics/icon/icon.wxml +++ b/demo/pages/basics/icon/icon.wxml @@ -1,19 +1,13 @@ - - - - 图标 - - - +返回图标 - + - + - + {{item.name}} \ No newline at end of file diff --git a/demo/pages/basics/icon/icon.wxss b/demo/pages/basics/icon/icon.wxss index f2213e0..7c09909 100644 --- a/demo/pages/basics/icon/icon.wxss +++ b/demo/pages/basics/icon/icon.wxss @@ -1,5 +1,5 @@ page{ - padding-top: 50px; + padding-top: 100rpx; } item.none{ display: none; diff --git a/demo/pages/basics/layout/layout.js b/demo/pages/basics/layout/layout.js index dc75801..2a0243f 100644 --- a/demo/pages/basics/layout/layout.js +++ b/demo/pages/basics/layout/layout.js @@ -1,7 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, TabCur:0, tabNav: ['Flex布局', 'Grid布局', '辅助布局'] diff --git a/demo/pages/basics/layout/layout.wxml b/demo/pages/basics/layout/layout.wxml index 42fe51a..fbe3c50 100644 --- a/demo/pages/basics/layout/layout.wxml +++ b/demo/pages/basics/layout/layout.wxml @@ -1,10 +1,4 @@ - - - - 布局 - - - +返回布局 {{tabNav[index]}} @@ -12,94 +6,94 @@ - - 固定尺寸 + + 固定尺寸 - xs(20%) - - sm(40%) - - sub(50%) - lg(60%) - xl(80%) + xs(20%) + + sm(40%) + + sub(50%) + lg(60%) + xl(80%) - - 比例布局 + + 比例布局 - 1 - 1 + 1 + 1 - 1 - 2 + 1 + 2 - 1 - 2 - 3 + 1 + 2 + 3 - - 水平对齐(justify) + + 水平对齐(justify) - start - start + start + start - end - end + end + end - center - center + center + center - between - between + between + between - around - around + around + around - - 垂直对齐(align) + + 垂直对齐(align) - ColorUi - start + ColorUi + start - ColorUi - end + ColorUi + end - ColorUi - center + ColorUi + center - - 等分列 + + 等分列 - + @@ -107,75 +101,73 @@ - - 等高 + + 等高 - + - + - - 浮动 + + 浮动 - ColorUi fl - ColorUi fr + ColorUi fl + ColorUi fr - - - - 内外边距 + + 内外边距 - {size}的尺寸有xs/sm/df/lg/xl - + {size}的尺寸有xs/sm/df/lg/xl + 外边距 内边距 .margin-{size} .padding-{size} - + 水平方向外边距 水平方向内边距 .margin-lr-{size} .padding-lr-{size} - + 垂直方向外边距 垂直方向内边距 .margin-tb-{size} .padding-tb-{size} - + 上外边距 上内边距 .margin-top-{size} .padding-top-{size} - + 右外边距 右内边距 .margin-right-{size} .padding-right-{size} - + 下外边距 下内边距 margin-bottom-{size} .padding-bottom-{size} - + 左外边距 左内边距 .margin-left-{size} diff --git a/demo/pages/basics/layout/layout.wxss b/demo/pages/basics/layout/layout.wxss index 59cbc17..a63336a 100644 --- a/demo/pages/basics/layout/layout.wxss +++ b/demo/pages/basics/layout/layout.wxss @@ -1,3 +1,3 @@ page{ - padding-top: 45px; + padding-top: 90rpx; } diff --git a/demo/pages/basics/loading/loading.js b/demo/pages/basics/loading/loading.js index 448a6e0..b1c72fb 100644 --- a/demo/pages/basics/loading/loading.js +++ b/demo/pages/basics/loading/loading.js @@ -1,7 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, loadProgress:0 }, diff --git a/demo/pages/basics/loading/loading.wxml b/demo/pages/basics/loading/loading.wxml index 7c7d62d..172d41a 100644 --- a/demo/pages/basics/loading/loading.wxml +++ b/demo/pages/basics/loading/loading.wxml @@ -1,13 +1,10 @@ - - - - 加载 - - - - + + 返回 + 加载 + + - + 背景 @@ -40,10 +37,10 @@ - - - - 加载中... + + + + 加载中... diff --git a/demo/pages/basics/progress/progress.js b/demo/pages/basics/progress/progress.js index 6f15587..fb80c7d 100644 --- a/demo/pages/basics/progress/progress.js +++ b/demo/pages/basics/progress/progress.js @@ -1,8 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, ColorList: app.globalData.ColorList, color:'red', }, @@ -34,5 +32,5 @@ Page({ this.setData({ active: e.detail.value }) - }, -}); \ No newline at end of file + } +}) \ No newline at end of file diff --git a/demo/pages/basics/progress/progress.wxml b/demo/pages/basics/progress/progress.wxml index 098175c..29a1c61 100644 --- a/demo/pages/basics/progress/progress.wxml +++ b/demo/pages/basics/progress/progress.wxml @@ -1,115 +1,105 @@ - - - - 进度条 - - - +返回进度条 - - 进度条形状 + + 进度条形状 - 61.8% + 61.8% - 61.8% + 61.8% - 61.8% + 61.8% - - 进度条尺寸 + + 进度条尺寸 - + - + - + - - - 进度条颜色 + + 进度条颜色 - - + + - + - - - - 进度条条纹 + + 进度条条纹 - + - + - + - - 进度条比例 + + 进度条比例 - 30% - 45% - 25% + 30% + 45% + 25% - - 进度条布局 + + 进度条布局 - + - + - + - + - + - 80% + 80% - - - 选择颜色 - - + + 选择颜色 + + - - - {{item.title}} + + + {{item.title}} diff --git a/demo/pages/basics/shadow/shadow.js b/demo/pages/basics/shadow/shadow.js index 90cb7b6..f3344c3 100644 --- a/demo/pages/basics/shadow/shadow.js +++ b/demo/pages/basics/shadow/shadow.js @@ -1,12 +1,8 @@ const app = getApp(); Page({ - data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar - }, SetSize(e) { this.setData({ size: e.detail.value }) - }, -}); + } +}) diff --git a/demo/pages/basics/shadow/shadow.wxml b/demo/pages/basics/shadow/shadow.wxml index 172c5db..10ecf9e 100644 --- a/demo/pages/basics/shadow/shadow.wxml +++ b/demo/pages/basics/shadow/shadow.wxml @@ -1,28 +1,22 @@ - - - - 边框阴影 - - - +返回边框阴影 - - 边框 + + 边框 - - + + - - 四周 - - - - + + 四周 + + + + - - 阴影 + + 阴影 diff --git a/demo/pages/basics/tag/tag.js b/demo/pages/basics/tag/tag.js index 7161aff..20213b0 100644 --- a/demo/pages/basics/tag/tag.js +++ b/demo/pages/basics/tag/tag.js @@ -1,11 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - ColorList: app.globalData.ColorList, - }, - onLoad: function() { - + ColorList: app.globalData.ColorList } -}); +}) diff --git a/demo/pages/basics/tag/tag.wxml b/demo/pages/basics/tag/tag.wxml index dda6863..8b5aa02 100644 --- a/demo/pages/basics/tag/tag.wxml +++ b/demo/pages/basics/tag/tag.wxml @@ -1,78 +1,70 @@ - - - - 标签 - - - - +返回标签 - - 标签形状 + + 标签形状 - 默认 - 椭圆 - 圆角 + 默认 + 椭圆 + 圆角 - - - - 标签尺寸 + + + 标签尺寸 - 小尺寸 - 普通尺寸 + 小尺寸 + 普通尺寸 - - 标签颜色 + + 标签颜色 - + - {{item.title}} + {{item.title}} - {{item.title}} + {{item.title}} - - 镂空标签 + + 镂空标签 - + - {{item.title}} + {{item.title}} - - 胶囊样式 + + 胶囊样式 - - + + 12 - - + + 23 - + 说明 @@ -80,16 +72,16 @@ - - + + 23 - - + + 23 @@ -97,23 +89,23 @@ - - 数字标签 + + 数字标签 - + 99+ - - 9 + + 9 - - 99 - + + + - - 99+ + + 99+ \ No newline at end of file diff --git a/demo/pages/basics/text/text.js b/demo/pages/basics/text/text.js index 4aaf02c..b70b5e9 100644 --- a/demo/pages/basics/text/text.js +++ b/demo/pages/basics/text/text.js @@ -1,8 +1,6 @@ const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, list: [{ title: '嫣红', name: 'red', @@ -79,7 +77,5 @@ Page({ color: '#ffffff' }, ] - }, - onLoad: function () { }, - + } }) \ No newline at end of file diff --git a/demo/pages/basics/text/text.wxml b/demo/pages/basics/text/text.wxml index 37e08b7..dade1e8 100644 --- a/demo/pages/basics/text/text.wxml +++ b/demo/pages/basics/text/text.wxml @@ -1,148 +1,139 @@ - - - - 文本 - - - - - - +返回文本 - - 文字大小 + + 文字大小 - - - 60 - - - + + + 60 + + + - 用于图标、数字等特大显示 + 用于图标、数字等特大显示 - - 40 - - - + + 40 + + + - 用于图标、数字等较大显示 + 用于图标、数字等较大显示 - - 22 - - - 80.00 + + 22 + + + 80.00 - 用于金额数字等信息 + 用于金额数字等信息 - - 18 - - - 您的订单已提交成功! + + 18 + + + 您的订单已提交成功! - 页面大标题,用于结果页等单一信息页 + 页面大标题,用于结果页等单一信息页 - - 16 - - - ColorUI组件库 + + 16 + + + ColorUI组件库 - 页面小标题,首要层级显示内容 + 页面小标题,首要层级显示内容 - - 14 - - 专注视觉的小程序组件库 - 页面默认字号,用于摘要或阅读文本 + + 14 + + 专注视觉的小程序组件库 + 页面默认字号,用于摘要或阅读文本 - - 12 - - - 衬衫的价格是9磅15便士 + + 12 + + + 衬衫的价格是9磅15便士 - 页面辅助信息,次级内容等 + 页面辅助信息,次级内容等 - - 10 - - - 我于杀戮之中绽放 亦如黎明中的花朵 + + 10 + + + 我于杀戮之中绽放 亦如黎明中的花朵 - 说明文本,标签文字等关注度低的文字 + 说明文本,标签文字等关注度低的文字 - - 文字颜色 + + 文字颜色 - - - + + + {{item.title}} - - 文字截断 + + 文字截断 - - 我于杀戮之中绽放 ,亦如黎明中的花朵 + + 我于杀戮之中绽放 ,亦如黎明中的花朵 - - 文字对齐 + + 文字对齐 - - 我于杀戮之中绽放 ,亦如黎明中的花朵 - 我于杀戮之中绽放 ,亦如黎明中的花朵 - 我于杀戮之中绽放 ,亦如黎明中的花朵 + + 我于杀戮之中绽放 ,亦如黎明中的花朵 + 我于杀戮之中绽放 ,亦如黎明中的花朵 + 我于杀戮之中绽放 ,亦如黎明中的花朵 - - 特殊文字 + + 特殊文字 - - - - 80.00 + + + + 80.00 - 价格文本,利用伪元素添加"¥"符号 + 价格文本,利用伪元素添加"¥"符号 - - - color Ui + + + color Ui - 英文单词首字母大写 + 英文单词首字母大写 - - - color Ui + + + color Ui - 全部字母大写 + 全部字母大写 - - - color Ui + + + color Ui - 全部字母小写 + 全部字母小写 \ No newline at end of file diff --git a/demo/pages/basics/text/text.wxss b/demo/pages/basics/text/text.wxss index 67cea14..e69de29 100644 --- a/demo/pages/basics/text/text.wxss +++ b/demo/pages/basics/text/text.wxss @@ -1 +0,0 @@ -/* pages/basics/text/text.wxss */ \ No newline at end of file diff --git a/demo/pages/component/bar/bar.js b/demo/pages/component/bar/bar.js index 7e7e980..9555c82 100644 --- a/demo/pages/component/bar/bar.js +++ b/demo/pages/component/bar/bar.js @@ -1,9 +1 @@ -const app = getApp(); -Page({ - data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, - Custom: app.globalData.Custom, - }, - -}) \ No newline at end of file +Page({}) \ No newline at end of file diff --git a/demo/pages/component/bar/bar.wxml b/demo/pages/component/bar/bar.wxml index fbde6df..a225b88 100644 --- a/demo/pages/component/bar/bar.wxml +++ b/demo/pages/component/bar/bar.wxml @@ -1,425 +1,404 @@ - - - - - - - 操作条 - - - +操作条 - - + + 底部操作条 - + - - + + - 元素 + 元素 - - + + - 组件 + 组件 - - - 99 + + + 99 - 扩展 + 扩展 - - - + + + - 关于 + 关于 - 首页 + 首页 - 分类 + 分类 - + 积分 - - 99 + + 99 购物车 - - + + 我的 - 首页 + 首页 - 分类 + 分类 - + 发布 - - 99 + + 99 购物车 - - + + 我的 - 首页 + 首页 - 分类 + 分类 - + 发布 - - 99 + + 99 购物车 - - + + 我的 - - - 已收藏 + 已收藏 - - 99 + + 99 购物车 - 立即订购 + 立即订购 - - - - 99 + + 99 购物车 - 加入购物车 - 立即订购 + 加入购物车 + 立即订购 - - - 店铺 + 店铺 - - 99 + + 99 购物车 - - + + - - - 99 + + 99 购物车 - - - + + + - - - + + 标题操作条 - + - - 关于我们 - + + 关于我们 + - - 关于我们 - + + 关于我们 + - - 关于我们 - + + 关于我们 + - - 关于我们 - about + + 关于我们 + about - + - - 关于我们 - + + 关于我们 + - - 关于我们 - + + 关于我们 + - - 关于我们 - + + 关于我们 + - - 关于我们 - about + + 关于我们 + about - - 关于我们 - about + + 关于我们 + about - - - 关于我们 + + + 关于我们 - - - 关于我们 + + + 关于我们 - - - + + 顶部操作条 - + - - 返回 + + 返回 - + 操作条 - - 首页 + + 首页 - + 鲜亮的高饱和色彩,专注视觉的小程序组件库 - - - + + + - - 关闭 + + 关闭 - + 海蓝 - + ColorUI - + - - - - + + 搜索操作条 - + - + - - + + - + - + 广州 - + - + 广州 - + - - + + 取消 - - - + + 操作条按钮组 - - + - + - - + + - - + + - - - - + + 输入操作条 - + - - + + - - - + + + - + - - - + + - - - + + + - + \ No newline at end of file diff --git a/demo/pages/component/bar/bar.wxss b/demo/pages/component/bar/bar.wxss index 8c56dd2..d8b2fde 100644 --- a/demo/pages/component/bar/bar.wxss +++ b/demo/pages/component/bar/bar.wxss @@ -1,5 +1,5 @@ .box { - margin: 20rpx; + margin: 20rpx 0; } .box view.cu-bar { diff --git a/demo/pages/component/card/card.wxml b/demo/pages/component/card/card.wxml index 61efc80..b348f7c 100644 --- a/demo/pages/component/card/card.wxml +++ b/demo/pages/component/card/card.wxml @@ -1,10 +1,4 @@ - - - - 卡片 - - - +返回卡片 案例类卡片 @@ -14,29 +8,32 @@ - - - - 福利 - 我和制服不得不说的那些事! + + + + 史诗 + + 我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。 + - + - - - 猪皮蛋 - + + + 正义天使 凯尔 + 十天前 - 10 - 20 - 30 + 10 + 20 + 30 + @@ -47,48 +44,70 @@ - - + + - - - 晓晓萌 - - 2018年12月3日 + + + 凯尔 + + 2019年12月3日 - - 你们的铲屎官是不是经常突然对手机傻笑?我家铲屎官常常坐沙发上笑的发抖!(暗中观察.jpg) + + 折磨生出苦难,苦难又会加剧折磨,凡间这无穷的循环,将有我来终结! - - + + - - 10 - 20 - 30 + + 10 + 20 + 30 - - - - - 猪皮蛋 - - 我家铲屎官不舔毛,还抠脚! + + + + + 莫甘娜 + + 凯尔,你被自己的光芒变的盲目。 - - - 我: - 我家的铲屎官也不舔毛! + + + 凯尔: + 妹妹,你在帮他们给黑暗找借口吗? - - 2018年12月4日 + + 2018年12月4日 - + + + + + + + + + + 凯尔 + + 妹妹,如果不是为了飞翔,我们要这翅膀有什么用? + + + + 莫甘娜: + 如果不能立足于大地,要这双脚又有何用? + + + + 2018年12月4日 + + @@ -97,7 +116,6 @@ - 文章类卡片 @@ -107,15 +125,17 @@ - - 这里有个戏精铲屎官,主子了解一下? + + + 无意者 烈火焚身;以正义的烈火拔出黑暗。我有自己的正义,见证至高的烈火吧。 + - + - 这是一个伪铲屎官为了给自己的程序凑字数瞎几把乱写的一堆文字,了解一下就OK!ヾ(=・ω・=)o + 折磨生出苦难,苦难又会加剧折磨,凡间这无穷的循环,将有我来终结!真正的恩典因不完整而美丽,因情感而真诚,因脆弱而自由! - 假装有猫系列 - 戏精系列 + 正义天使 + 史诗 diff --git a/demo/pages/component/chat/chat.js b/demo/pages/component/chat/chat.js index 020c45e..ddd1eeb 100644 --- a/demo/pages/component/chat/chat.js +++ b/demo/pages/component/chat/chat.js @@ -1,9 +1,15 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar + InputBottom: 0 }, - onLoad: function () { }, - -}); + InputFocus(e) { + this.setData({ + InputBottom: e.detail.height + }) + }, + InputBlur(e) { + this.setData({ + InputBottom: 0 + }) + } +}) \ No newline at end of file diff --git a/demo/pages/component/chat/chat.wxml b/demo/pages/component/chat/chat.wxml index ee2fbea..8f0d73f 100644 --- a/demo/pages/component/chat/chat.wxml +++ b/demo/pages/component/chat/chat.wxml @@ -1,91 +1,83 @@ - - - - - 聊天 - - - - +返回聊天 - + 喵喵喵!喵喵喵!喵喵喵!喵喵!喵喵!!喵!喵喵喵! - - 2018年3月23日 13:23 + + 2018年3月23日 13:23 - 对方撤回一条消息! + 对方撤回一条消息! - + - + 喵喵喵!喵喵喵! - 13:23 + 13:23 - 对方拒绝了你的消息 + 对方拒绝了你的消息 对方开启了好友验证,你还不是他(她)的好友。请先发送好友验证请求,对方验证通过后,才能聊天。 - 发送好友验证 + 发送好友验证 - + - - 13:23 + + 13:23 - + 3" - - + + - - 13:23 + + 13:23 - - + + - + 喵星球,喵喵市 - - 13:23 + + 13:23 - + - + @#$^&** - - 翻译错误 + + 翻译错误 - 13:23 + 13:23 - - - + + + - - - + + + - + diff --git a/demo/pages/component/chat/chat.wxss b/demo/pages/component/chat/chat.wxss index 123b064..6fc6f7a 100644 --- a/demo/pages/component/chat/chat.wxss +++ b/demo/pages/component/chat/chat.wxss @@ -1,3 +1,3 @@ page{ - padding-bottom: 60px; + padding-bottom: 100rpx; } \ No newline at end of file diff --git a/demo/pages/component/form/form.js b/demo/pages/component/form/form.js index 6f5e31c..03a8a09 100644 --- a/demo/pages/component/form/form.js +++ b/demo/pages/component/form/form.js @@ -11,8 +11,7 @@ Page({ ['猪肉绦虫', '吸血虫'] ], objectMultiArray: [ - [ - { + [{ id: 0, name: '无脊柱动物' }, @@ -20,8 +19,8 @@ Page({ id: 1, name: '脊柱动物' } - ], [ - { + ], + [{ id: 0, name: '扁性动物' }, @@ -41,8 +40,8 @@ Page({ id: 3, name: '节肢动物' } - ], [ - { + ], + [{ id: 0, name: '猪肉绦虫' }, @@ -56,6 +55,10 @@ Page({ time: '12:01', date: '2018-12-25', region: ['广东省', '广州市', '海珠区'], + imgList: [], + modalName: null, + textareaAValue: '', + textareaBValue: '' }, PickerChange(e) { console.log(e); @@ -63,7 +66,7 @@ Page({ index: e.detail.value }) }, - MultiChange (e) { + MultiChange(e) { this.setData({ multiIndex: e.detail.value }) @@ -134,14 +137,64 @@ Page({ time: e.detail.value }) }, - DateChange (e) { + DateChange(e) { this.setData({ date: e.detail.value }) }, - RegionChange: function (e) { + RegionChange: function(e) { this.setData({ region: e.detail.value }) }, + ChooseImage() { + wx.chooseImage({ + count: 4, //默认9 + sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 + sourceType: ['album'], //从相册选择 + success: (res) => { + if (this.data.imgList.length != 0) { + this.setData({ + imgList: this.data.imgList.concat(res.tempFilePaths) + }) + } else { + this.setData({ + imgList: res.tempFilePaths + }) + } + } + }); + }, + ViewImage(e) { + wx.previewImage({ + urls: this.data.imgList, + current: e.currentTarget.dataset.url + }); + }, + DelImg(e) { + wx.showModal({ + title: '召唤师', + content: '确定要删除这段回忆吗?', + cancelText: '再看看', + confirmText: '再见', + success: res => { + if (res.confirm) { + this.data.imgList.splice(e.currentTarget.dataset.index, 1); + this.setData({ + imgList: this.data.imgList + }) + } + } + }) + }, + textareaAInput(e) { + this.setData({ + textareaAValue: e.detail.value + }) + }, + textareaBInput(e) { + this.setData({ + textareaBValue: e.detail.value + }) + } }) \ No newline at end of file diff --git a/demo/pages/component/form/form.wxml b/demo/pages/component/form/form.wxml index 2a07bf3..c9e468b 100644 --- a/demo/pages/component/form/form.wxml +++ b/demo/pages/component/form/form.wxml @@ -1,39 +1,35 @@ - - - - 表单 - - - + + 返回 + 表单 +
- - 邮件 - + 邮件 + - 输入框 - + 输入框 + - 收货地址 - + 收货地址 + - 收货地址 - - + 收货地址 + + - 验证码 - - + 验证码 + + - 手机号码 - + 手机号码 + - + +86 @@ -41,10 +37,8 @@ - - - 普通选择 + 普通选择 {{index?picker[index]:'禁止换行,超出容器部分会以 ... 方式截断'}} @@ -52,7 +46,7 @@ - 多列选择 + 多列选择 {{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}} @@ -60,7 +54,7 @@ - 时间选择 + 时间选择 {{time}} @@ -68,7 +62,7 @@ - 日期选择 + 日期选择 {{date}} @@ -76,88 +70,84 @@ - 地址选择 + 地址选择 {{region[0]}},{{region[1]}},{{region[2]}} - - 开关选择 + 开关选择 - 定义颜色 - + 定义颜色 + - - 定义图标 + + 定义图标 - 方形开关 - + 方形开关 + - 单选操作(radio) + 单选操作(radio) - 定义样式 - + 定义样式 + - 定义颜色 + 定义颜色 - - + + - - 复选选操作(checkbox) + 复选选操作(checkbox) - 定义形状 - + 定义形状 + - 定义颜色 - + 定义颜色 + - - - - - - - + + + 图片上传 + + + {{imgList.length}}/4 + + + + + + + - - + + - - - - - 点文本框 - - - - 多级联动 - - - {{region[0]}},{{region[1]}},{{region[2]}} - - - --> + + + + 点文本框 + + \ No newline at end of file diff --git a/demo/pages/component/form/form.wxss b/demo/pages/component/form/form.wxss index dbf0b0b..bf02d07 100644 --- a/demo/pages/component/form/form.wxss +++ b/demo/pages/component/form/form.wxss @@ -1,3 +1,3 @@ -form-group .title { - min-width: calc(4em + 15px); +.cu-form-group .title { + min-width: calc(4em + 30rpx); } diff --git a/demo/pages/component/home/home.js b/demo/pages/component/home/home.js index e904af7..dd24927 100644 --- a/demo/pages/component/home/home.js +++ b/demo/pages/component/home/home.js @@ -1,4 +1,7 @@ Component({ + options: { + addGlobalClass: true, + }, data: { elements: [ { title: '操作条', name: 'bar', color: 'purple', icon: 'vipcard' }, @@ -13,16 +16,4 @@ Component({ { title: '步骤条', name: 'steps', color: 'cyan', icon: 'roundcheckfill' }, ], }, - onLoad: function () { - }, - pageLifetimes: { - show() { - if (typeof this.getTabBar === 'function' && - this.getTabBar()) { - this.getTabBar().setData({ - selected: 1 - }) - } - } - } }) diff --git a/demo/pages/component/home/home.json b/demo/pages/component/home/home.json index 8835af0..32640e0 100644 --- a/demo/pages/component/home/home.json +++ b/demo/pages/component/home/home.json @@ -1,3 +1,3 @@ { - "usingComponents": {} + "component": true } \ No newline at end of file diff --git a/demo/pages/component/home/home.wxml b/demo/pages/component/home/home.wxml index 371f086..639c1db 100644 --- a/demo/pages/component/home/home.wxml +++ b/demo/pages/component/home/home.wxml @@ -1,9 +1,11 @@ - - - - {{item.title}} - {{item.name}} - - - - \ No newline at end of file + + + + + {{item.title}} + {{item.name}} + + + + + \ No newline at end of file diff --git a/demo/pages/component/list/list.wxml b/demo/pages/component/list/list.wxml index e2f4c42..7d9e4ab 100644 --- a/demo/pages/component/list/list.wxml +++ b/demo/pages/component/list/list.wxml @@ -1,273 +1,308 @@ - - - - 列表 - + + + 返回 + 列表 + + + + 宫格列表 + + + + - - - - 宫格列表 - - - - - - - - - - - + + + + + + + - - - - - - 边框 - - - + + + + + 边框 + + + + - - - - - - {{item.badge>99?'99+':item.badge}} - - - {{item.name}} - - - - - - - 菜单列表 - - - - - - - - - - - 短边框 - - - + + + + + {{item.badge>99?"99+":item.badge}} - - - 箭头 + {{item.name}} + + + + + 菜单列表 + + + + + + + + + + + + 短边框 + + + + + + + + 箭头 + + + + + + + + 卡片 + + + + + + + + 短边框 + + + + + + + + 箭头 + + + + + + + + 卡片 + + + + + - - + + + + + + + + 图标 + 标题 + + + + + + 图片 + 标题 + + + + + + + + + Navigator 跳转 + + + + + + 头像组 + + + + + + + + + 4 人 + + + + + + 按钮 + + + + + + + + + 标签 + + + 音乐 + 电影 + 旅行 + + + + + + 文本 + + + 小目标还没有实现! + + + + + + 多行Item + + 小目标还没有实现! + + + + + + + + + 消息列表 + + + + + + + 凯尔 + + + 我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。 + - - - 卡片 + + 22:20 + 5 + + + + + 99+ + + + + 瓦洛兰之盾-塔里克 + 战士 - - + + + 塔里克是保护者星灵,用超乎寻常的力量守护着符文之地的生命、仁爱以及万物之美。塔里克由于渎职而被放逐,离开了祖国德玛西亚,前去攀登巨神峰寻找救赎,但他找到的却是来自星界的更高层的召唤。现在的塔里克与古代巨神族的神力相融合,以瓦洛兰之盾的身份,永不疲倦地警惕着阴险狡诈的虚空腐化之力。 + - - - - - - - - 图标 + 标题 - - - - - - 图片 + 标题 - - - - - - - - - Navigator 跳转 - - - - - - 头像组 - - - - - - - + + 22:20 + - 4 人 - - - - - 按钮 - - - - - - - - - 标签 - - - 音乐 - 电影 - 旅行 - - - - - - 文本 - - - 小目标还没有实现! - - - - - - 多行Item - - 小目标还没有实现! - - - - - - - - - - 消息列表 - - - - - - - 文晓港 - - 消息未送达 - - - 22:20 - 5 - - - - - 99+ - - - 文晓港 - SVIP + + + + + 莫甘娜 + + + 凯尔,你被自己的光芒变的盲目! + - - 收到红包 - - - 22:20 - - - - - - - 喵星人互动群 - - 喵星酱:喵喵喵! - - - 22:20 - 5 - - - - - - 喵星人互动群 - - 喵星酱:喵喵喵! - - - 22:20 - 5 - - - - - - - - 喵星人互动群 - 6人 + + 22:20 + 5 - - 喵星酱: - 图片传输中... - - 22:20 - + + + + + 伊泽瑞尔 + 断开连接... + + + 等我回来一个打十个 + + + + 22:20 + 5 + + + + + + + + + 瓦罗兰大陆-睡衣守护者-新手保护营 + 6人 + + + 伊泽瑞尔: 传送中... + + + + 22:20 + + - - - - - - 列表左滑 - - - - - - - 文晓港 - - 消息未送达 - - - 22:20 - 5 - - - 置顶 - 删除 + + + 列表左滑 - + + + + + 文晓港 + + 消息未送达 + + + 22:20 + 5 + + + 置顶 + 删除 + + + + \ No newline at end of file diff --git a/demo/pages/component/list/list.wxss b/demo/pages/component/list/list.wxss index 073589e..f3a35c0 100644 --- a/demo/pages/component/list/list.wxss +++ b/demo/pages/component/list/list.wxss @@ -1,5 +1,10 @@ .page { - background: #f1f1f1; + height: 100Vh; + width: 100vw; +} + +.page.show { + overflow: hidden; } .switch-sex::after { @@ -17,3 +22,4 @@ .switch-music::before { content: "\e6db"; } + diff --git a/demo/pages/component/modal/modal.js b/demo/pages/component/modal/modal.js index 0035c90..ed11d46 100644 --- a/demo/pages/component/modal/modal.js +++ b/demo/pages/component/modal/modal.js @@ -1,13 +1,42 @@ const app = getApp(); - Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar + CustomBar: app.globalData.CustomBar, + checkbox: [{ + value: 0, + name: '10元', + checked: false, + hot: false, + }, { + value: 1, + name: '20元', + checked: true, + hot: false, + }, { + value: 2, + name: '30元', + checked: true, + hot: true, + }, { + value: 3, + name: '60元', + checked: false, + hot: true, + }, { + value: 4, + name: '80元', + checked: false, + hot: false, + }, { + value: 5, + name: '100元', + checked: false, + hot: false, + }] }, showModal(e) { this.setData({ - modalName: e.currentTarget.dataset.target + modalName: e.currentTarget.dataset.target }) }, hideModal(e) { @@ -15,4 +44,17 @@ Page({ modalName: null }) }, -}); \ No newline at end of file + ChooseCheckbox(e) { + let items = this.data.checkbox; + let values = e.currentTarget.dataset.value; + for (let i = 0, lenI = items.length; i < lenI; ++i) { + if (items[i].value == values) { + items[i].checked = !items[i].checked; + break + } + } + this.setData({ + checkbox: items + }) + } +}) \ No newline at end of file diff --git a/demo/pages/component/modal/modal.wxml b/demo/pages/component/modal/modal.wxml index 056f6e4..a9fd0b7 100644 --- a/demo/pages/component/modal/modal.wxml +++ b/demo/pages/component/modal/modal.wxml @@ -1,76 +1,73 @@ - - - - 模态窗口 - - - + + 返回 + 模态窗口 + - - 普通窗口 + + 普通窗口 - - + + - Modal标题 - - + Modal标题 + + - + Modal 内容。 - - 底部窗口 + + 底部窗口 - - + + - 确定 - 取消 + 确定 + 取消 - + Modal 内容。 - - 对话窗口 + + 对话窗口 - - - + + + - Modal标题 - - + Modal标题 + + - + Modal 内容。 - - - + + + @@ -80,65 +77,65 @@ - Modal标题 - - + Modal标题 + + - + Modal 内容。 - - 微信支付 - 取消 - 确定 + + 微信支付 + 取消 + 确定 - - 图片窗口 + + 图片窗口 - - + + - + - - + + - 我知道了 + 我知道了 - - 单选窗口 + + 单选窗口 - - + + - + - - - - - 多选窗口 + + 多选窗口 - - + + - + - 确定 - 取消 + 取消 + 确定 - - - + + + - - 侧边抽屉 + + 侧边抽屉 - - - + + + - - - - - + + + + + Item {{index +1}} @@ -189,35 +188,12 @@ - - - - - - - 文晓港 - - 消息未送达 - - - 22:20 - 5 - - - - - 99+ - - - 文晓港 - SVIP - - - 收到红包 - - - 22:20 - + + + + + + Item {{index +1}} diff --git a/demo/pages/component/nav/nav.js b/demo/pages/component/nav/nav.js index 7b6f054..f11cf71 100644 --- a/demo/pages/component/nav/nav.js +++ b/demo/pages/component/nav/nav.js @@ -1,13 +1,9 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, TabCur: 0, scrollLeft: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/component/nav/nav.wxml b/demo/pages/component/nav/nav.wxml index db8c9cd..599c384 100644 --- a/demo/pages/component/nav/nav.wxml +++ b/demo/pages/component/nav/nav.wxml @@ -1,70 +1,62 @@ - - - - 导航栏 - - - - +返回导航栏 + Tab{{index}} - - 默认 + + 默认 - + Tab{{index}} - - - 居中 + + 居中 - + Tab{{index}} - - - 平分 + + 平分 - - + + Tab{{index}} - - 背景 + + 背景 - + Tab{{index}} - - 图标 + + 图标 - - 数码 + + 数码 - - 排行榜 + + 排行榜 - - 皮肤 + + 皮肤 diff --git a/demo/pages/component/steps/steps.js b/demo/pages/component/steps/steps.js index 0e939df..e8770ef 100644 --- a/demo/pages/component/steps/steps.js +++ b/demo/pages/component/steps/steps.js @@ -1,8 +1,5 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, basicsList: [{ icon: 'usefullfill', name: '开始' @@ -15,7 +12,7 @@ Page({ }, { icon: 'roundcheckfill', name: '完成' - },], + }, ], basics: 0, numList: [{ name: '开始' @@ -25,7 +22,7 @@ Page({ name: '错误' }, { name: '完成' - },], + }, ], num: 0, scroll: 0 }, @@ -44,5 +41,4 @@ Page({ scroll: this.data.scroll == 9 ? 0 : this.data.scroll + 1 }) } - -}); \ No newline at end of file +}) \ No newline at end of file diff --git a/demo/pages/component/steps/steps.wxml b/demo/pages/component/steps/steps.wxml index f712ce9..e93abdf 100644 --- a/demo/pages/component/steps/steps.wxml +++ b/demo/pages/component/steps/steps.wxml @@ -1,66 +1,58 @@ - - - - 步骤条 - - - +返回步骤条 - - 基本用法 + + 基本用法 - - + + - - - - {{item.name}} + + + + {{item.name}} - - - - - {{item.name}} + + + + {{item.name}} - - - - - {{item.name}} + + + + {{item.name}} - - 数字完成 + + 数字完成 - - + + - - - - {{item.name}} + + + + {{item.name}} - - 多级显示 + + 多级显示 - - + + - - - Level {{index + 1}} + + + Level {{index + 1}} diff --git a/demo/pages/component/swiper/swiper.js b/demo/pages/component/swiper/swiper.js index fe22361..812cb4c 100644 --- a/demo/pages/component/swiper/swiper.js +++ b/demo/pages/component/swiper/swiper.js @@ -1,34 +1,38 @@ -const app = getApp(); Page({ data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar, cardCur: 0, - tower: [{ + swiperList: [{ id: 0, - url: 'https://image.weilanwl.com/img/4x3-1.jpg' + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big84000.jpg' }, { id: 1, - url: 'https://image.weilanwl.com/img/4x3-2.jpg' + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big84001.jpg', }, { id: 2, - url: 'https://image.weilanwl.com/img/4x3-3.jpg' - }, { - id: 3, - url: 'https://image.weilanwl.com/img/4x3-4.jpg' - }, { - id: 4, - url: 'https://image.weilanwl.com/img/4x3-2.jpg' - }, { - id: 5, - url: 'https://image.weilanwl.com/img/4x3-4.jpg' - }, { - id: 6, - url: 'https://image.weilanwl.com/img/4x3-2.jpg' - }] + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big39000.jpg' + }, { + id: 3, + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg' + }, { + id: 4, + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big25011.jpg' + }, { + id: 5, + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big21016.jpg' + }, { + id: 6, + type: 'image', + url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg' + }], }, onLoad() { - this.towerSwiper('tower'); + this.towerSwiper('swiperList'); // 初始化towerSwiper 传已有的数组名即可 }, DotStyle(e) { @@ -51,28 +55,25 @@ Page({ list[i].mLeft = i - parseInt(list.length / 2) } this.setData({ - towerList: list + swiperList: list }) }, - // towerSwiper触摸开始 towerStart(e) { this.setData({ towerStart: e.touches[0].pageX }) }, - // towerSwiper计算方向 towerMove(e) { this.setData({ direction: e.touches[0].pageX - this.data.towerStart > 0 ? 'right' : 'left' }) }, - // towerSwiper计算滚动 towerEnd(e) { let direction = this.data.direction; - let list = this.data.towerList; + let list = this.data.swiperList; if (direction == 'right') { let mLeft = list[0].mLeft; let zIndex = list[0].zIndex; @@ -83,7 +84,7 @@ Page({ list[list.length - 1].mLeft = mLeft; list[list.length - 1].zIndex = zIndex; this.setData({ - towerList: list + swiperList: list }) } else { let mLeft = list[list.length - 1].mLeft; @@ -95,8 +96,8 @@ Page({ list[0].mLeft = mLeft; list[0].zIndex = zIndex; this.setData({ - towerList: list + swiperList: list }) } - }, -}); \ No newline at end of file + } +}) \ No newline at end of file diff --git a/demo/pages/component/swiper/swiper.wxml b/demo/pages/component/swiper/swiper.wxml index d1ffe47..2c3eeb4 100644 --- a/demo/pages/component/swiper/swiper.wxml +++ b/demo/pages/component/swiper/swiper.wxml @@ -1,41 +1,45 @@ - - - - 轮播图 - - - + + 返回 + 轮播图 + - - 全屏限高轮播 + + 全屏限高轮播 - - + + - - + + + - - 卡片式轮播 + + 卡片式轮播 - - + + + + + - - 堆叠式轮播 + + 堆叠式轮播 - - + + + + + - + \ No newline at end of file diff --git a/demo/pages/component/swiper/swiper.wxss b/demo/pages/component/swiper/swiper.wxss index 3c1ccb1..b830ced 100644 --- a/demo/pages/component/swiper/swiper.wxss +++ b/demo/pages/component/swiper/swiper.wxss @@ -1 +1,5 @@ -/* pages/component/swiper/swiper.wxss */ \ No newline at end of file + .tower-swiper .tower-item { + transform: scale(calc(0.5 + var(--index) / 10)); + margin-left: calc(var(--left) * 100rpx - 150rpx); + z-index: var(--index); + } \ No newline at end of file diff --git a/demo/pages/component/timeline/timeline.js b/demo/pages/component/timeline/timeline.js index 020c45e..560d44d 100644 --- a/demo/pages/component/timeline/timeline.js +++ b/demo/pages/component/timeline/timeline.js @@ -1,9 +1 @@ -const app = getApp(); -Page({ - data: { - StatusBar: app.globalData.StatusBar, - CustomBar: app.globalData.CustomBar - }, - onLoad: function () { }, - -}); +Page({}); diff --git a/demo/pages/component/timeline/timeline.wxml b/demo/pages/component/timeline/timeline.wxml index 4f7084b..c8de7f4 100644 --- a/demo/pages/component/timeline/timeline.wxml +++ b/demo/pages/component/timeline/timeline.wxml @@ -1,29 +1,25 @@ - - - - - 时间轴 - - - + + 返回 + 时间轴 + 昨天 - + 22:22 【广州市】快件已到达地球 - + 这是第一次,我家的铲屎官走了这么久。久到足足有三天!! - + 这是第一次,我家的铲屎官走了这么久。 - + 20:00 【月球】快件已到达月球,准备发往地球 @@ -50,38 +46,38 @@ 上午 10:00 - 这是第一次,我家的铲屎官走了这么久。久到足足有三天!! 在听到他的脚步声响在楼梯间的那一刻,我简直想要破门而出,对着他狠狠地吼上10分钟,然后再看心情要不要他进门。 + 这是第一次,我家的铲屎官走了这么久。久到足足有三天!! 在听到他的脚步声响在楼梯间的那一刻,我简直想要破门而出,对着他狠狠地吼上10分钟,然后再看心情要不要他进门。 - + - + - - - 文晓港 - - 消息未送达 + + + 文晓港 + + 消息未送达 - - 22:20 + + 22:20 5 - + 99+ - - 文晓港 + + 文晓港 SVIP - - 收到红包 + + 收到红包 - - 22:20 - + + 22:20 + diff --git a/demo/pages/component/timeline/timeline.wxss b/demo/pages/component/timeline/timeline.wxss index e768b48..e69de29 100644 --- a/demo/pages/component/timeline/timeline.wxss +++ b/demo/pages/component/timeline/timeline.wxss @@ -1 +0,0 @@ -/* pages/component/timeline/timeline.wxss */ \ No newline at end of file diff --git a/demo/pages/index/index.js b/demo/pages/index/index.js new file mode 100644 index 0000000..2eb26f4 --- /dev/null +++ b/demo/pages/index/index.js @@ -0,0 +1,10 @@ +Page({ + data: { + PageCur: 'basics' + }, + NavChange(e){ + this.setData({ + PageCur: e.currentTarget.dataset.cur + }) + } +}) \ No newline at end of file diff --git a/demo/pages/index/index.json b/demo/pages/index/index.json new file mode 100644 index 0000000..3daaab5 --- /dev/null +++ b/demo/pages/index/index.json @@ -0,0 +1,8 @@ +{ + "usingComponents": { + "basics": "/pages/basics/home/home", + "component": "/pages/component/home/home", + "plugin": "/pages/plugin/home/home", + "about": "/pages/about/home/home" + } +} \ No newline at end of file diff --git a/demo/pages/index/index.wxml b/demo/pages/index/index.wxml new file mode 100644 index 0000000..282da91 --- /dev/null +++ b/demo/pages/index/index.wxml @@ -0,0 +1,30 @@ + + + + + + + + + + 元素 + + + + + + 组件 + + + + + + 扩展 + + + + + + 扩展 + + \ No newline at end of file diff --git a/demo/pages/index/index.wxss b/demo/pages/index/index.wxss new file mode 100644 index 0000000..8e9c81f --- /dev/null +++ b/demo/pages/index/index.wxss @@ -0,0 +1 @@ +/* pages/index/index.wxss */ \ No newline at end of file diff --git a/demo/pages/plugin/animation/animation.wxml b/demo/pages/plugin/animation/animation.wxml index 3f6578e..69d2989 100644 --- a/demo/pages/plugin/animation/animation.wxml +++ b/demo/pages/plugin/animation/animation.wxml @@ -1,74 +1,70 @@ - - - - 微动画 - - - + + 返回 + 微动画 + - - 默认效果 + + 默认效果 - - + + - - 反向动画 + + 反向动画 + + + + + + + + + + 延迟执行 + + + - - + + - - 延迟执行 - - - - - - - - - - - - - - Gif动画 + + Gif动画 - + - - + + - - + + - - + + - - + + - - + + - - + + \ No newline at end of file diff --git a/demo/pages/plugin/animation/animation.wxss b/demo/pages/plugin/animation/animation.wxss index 0958e03..5f38027 100644 --- a/demo/pages/plugin/animation/animation.wxss +++ b/demo/pages/plugin/animation/animation.wxss @@ -1,182 +1,6 @@ -image[class*="gif-"]{ +@import "../../../colorui/animation.wxss"; + +image[class*="gif-"] { border-radius: 6rpx; display: block; } - -.gif-black{ - mix-blend-mode: screen; -} -.gif-white{ - mix-blend-mode: multiply; -} - - -[class*=animation-] { - animation-duration: .5s; - animation-timing-function: ease-out; - animation-fill-mode: both -} - -.animation-fade { - animation-name: fade; - animation-duration: .8s; - animation-timing-function: linear -} - -.animation-scale-up { - animation-name: scale-up -} - -.animation-scale-down { - animation-name: scale-down -} - -.animation-slide-top { - animation-name: slide-top -} - -.animation-slide-bottom { - animation-name: slide-bottom -} - -.animation-slide-left { - animation-name: slide-left -} - -.animation-slide-right { - animation-name: slide-right -} - -.animation-shake { - animation-name: shake -} - -.animation-reverse { - animation-direction: reverse -} - -@keyframes fade { - 0% { - opacity: 0 - } - - 100% { - opacity: 1 - } -} - -@keyframes scale-up { - 0% { - opacity: 0; - transform: scale(.2) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes scale-down { - 0% { - opacity: 0; - transform: scale(1.8) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes slide-top { - 0% { - opacity: 0; - transform: translateY(-100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes slide-bottom { - 0% { - opacity: 0; - transform: translateY(100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes shake { - - 0%, - 100% { - transform: translateX(0) - } - - 10% { - transform: translateX(-9px) - } - - 20% { - transform: translateX(8px) - } - - 30% { - transform: translateX(-7px) - } - - 40% { - transform: translateX(6px) - } - - 50% { - transform: translateX(-5px) - } - - 60% { - transform: translateX(4px) - } - - 70% { - transform: translateX(-3px) - } - - 80% { - transform: translateX(2px) - } - - 90% { - transform: translateX(-1px) - } -} - -@keyframes slide-left { - 0% { - opacity: 0; - transform: translateX(-100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} - -@keyframes slide-right { - 0% { - opacity: 0; - transform: translateX(100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} \ No newline at end of file diff --git a/demo/pages/plugin/drawer/drawer.wxml b/demo/pages/plugin/drawer/drawer.wxml index 1812905..17795b7 100644 --- a/demo/pages/plugin/drawer/drawer.wxml +++ b/demo/pages/plugin/drawer/drawer.wxml @@ -1,99 +1,37 @@ - - - - - - - - - - - - - - - - - - - - 99 - - - - - - - - - - - - - - Tab{{index}} - - - - - - - Tab{{index}} - 点击头像打开抽屉 - - 返回上一页 - - - - - - - - - - ColorUI组件库 - v2.0 - - - By:文晓港 - - - - - - - GitHub - - - - - - 关于ColorUI组件库 - - - - - - 日志 - - - - - - 赞赏支持 - - - - - - - - - Bug测试 - - - - \ No newline at end of file + + 返回 + 全屏抽屉 + + + + 打开抽屉 + + + + + + + {{index +1}} + + + + + + + 打开抽屉 + + + + + + + + + + + + {{index +1}} + + + + \ No newline at end of file diff --git a/demo/pages/plugin/drawer/drawer.wxss b/demo/pages/plugin/drawer/drawer.wxss index 36cbcb7..2694280 100644 --- a/demo/pages/plugin/drawer/drawer.wxss +++ b/demo/pages/plugin/drawer/drawer.wxss @@ -1,15 +1,16 @@ page { - background-color: #555; - background-size: 100%; + background-image: var(--gradualBlue); + width: 100vw; + overflow: hidden; } .DrawerPage { - position: absolute; + position: fixed; width: 100vw; height: 100vh; left: 0vw; background-color: #f1f1f1; - transition: all 0.6s; + transition: all 0.4s; } .DrawerPage.show { @@ -28,7 +29,7 @@ page { transform: scale(0.9, 0.9) translateX(-100%); opacity: 0; pointer-events: none; - transition: all 0.6s; + transition: all 0.4s; } .DrawerWindow.show { @@ -42,22 +43,23 @@ page { width: 40vw; height: 100vh; right: 0; - top: 0; + top: 0; color: transparent; padding-bottom: 30rpx; display: flex; align-items: flex-end; - justify-content: center; - background-image: linear-gradient(90deg,rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.6)); + justify-content: center; + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.6)); letter-spacing: 5px; - font-size: 50rpx; + font-size: 50rpx; opacity: 0; - pointer-events: none; - transition: all 0.6s; + pointer-events: none; + transition: all 0.4s; } -.DrawerClose.show { + +.DrawerClose.show { opacity: 1; - pointer-events: all; + pointer-events: all; width: 15vw; color: #fff; } diff --git a/demo/pages/plugin/home/home.js b/demo/pages/plugin/home/home.js index 7602848..98092ef 100644 --- a/demo/pages/plugin/home/home.js +++ b/demo/pages/plugin/home/home.js @@ -1,45 +1,38 @@ const app = getApp(); Component({ + options: { + addGlobalClass: true, + }, data: { StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, list: [{ title: '索引列表', img: 'https://image.weilanwl.com/color2.0/plugin/sylb2244.jpg', - url: '../indexes/indexes' + url: '/indexes/indexes' }, { title: '微动画', img: 'https://image.weilanwl.com/color2.0/plugin/wdh2236.jpg', - url: '../animation/animation' + url: '/animation/animation' }, { title: '全屏抽屉', img: 'https://image.weilanwl.com/color2.0/plugin/qpct2148.jpg', - url: '../drawer/drawer' + url: '/drawer/drawer' }, { title: '垂直导航', img: 'https://image.weilanwl.com/color2.0/plugin/qpczdh2307.jpg', - url: '../verticalnav/verticalnav' + url: '/verticalnav/verticalnav' } ] }, methods: { toChild(e) { wx.navigateTo({ - url: e.currentTarget.dataset.url + url: '/pages/plugin' + e.currentTarget.dataset.url }) }, - }, - pageLifetimes: { - show() { - if (typeof this.getTabBar === 'function' && - this.getTabBar()) { - this.getTabBar().setData({ - selected: 2 - }) - } - } } }); \ No newline at end of file diff --git a/demo/pages/plugin/home/home.json b/demo/pages/plugin/home/home.json index 9e26dfe..32640e0 100644 --- a/demo/pages/plugin/home/home.json +++ b/demo/pages/plugin/home/home.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "component": true +} \ No newline at end of file diff --git a/demo/pages/plugin/home/home.wxml b/demo/pages/plugin/home/home.wxml index d797975..17df977 100644 --- a/demo/pages/plugin/home/home.wxml +++ b/demo/pages/plugin/home/home.wxml @@ -1,15 +1,15 @@ - - - - + + + + + + + + + + {{item.title}} + - - - - - {{item.title}} - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/demo/pages/plugin/indexes/indexes.wxml b/demo/pages/plugin/indexes/indexes.wxml index f0cc4d7..50aa131 100644 --- a/demo/pages/plugin/indexes/indexes.wxml +++ b/demo/pages/plugin/indexes/indexes.wxml @@ -1,28 +1,26 @@ - - - - 索引 - - - + + 返回 + 索引 + - + - - + + - + - {{list[index]}} - + {{list[index]}} + {{list[index]}} - - {{list[index]}}{{list[sub]}} - + + {{list[index]}} + {{list[sub]}} + 有{{sub+2}}个主子需要伺候 @@ -30,9 +28,9 @@ - - - {{list[index]}} + + + {{list[index]}} diff --git a/demo/pages/plugin/indexes/indexes.wxss b/demo/pages/plugin/indexes/indexes.wxss index a3c5783..c290c17 100644 --- a/demo/pages/plugin/indexes/indexes.wxss +++ b/demo/pages/plugin/indexes/indexes.wxss @@ -1,5 +1,5 @@ page { - padding-top: 50px; + padding-top: 100rpx; } .indexes { @@ -10,36 +10,37 @@ page { position: fixed; right: 0px; bottom: 0px; - padding: 10px 10px 10px 30px; + padding: 20rpx 20rpx 20rpx 60rpx; display: flex; align-items: center; } .indexBar .indexBar-box { - width: 20px; + width: 40rpx; height: auto; background: #fff; display: flex; flex-direction: column; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - border-radius: 5px; + box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.1); + border-radius: 10rpx; } .indexBar-item { flex: 1; - width: 20px; - height: 20px; + width: 40rpx; + height: 40rpx; display: flex; align-items: center; justify-content: center; - font-size: 12px; + font-size: 24rpx; color: #888; } movable-view.indexBar-item { - width: 20px; - height: 20px; + width: 40rpx; + height: 40rpx; z-index: 9; + position: relative; } movable-view.indexBar-item::before { @@ -47,23 +48,24 @@ movable-view.indexBar-item::before { display: block; position: absolute; left: 0; - top: 5px; - height: 10px; - width: 2px; + top: 10rpx; + height: 20rpx; + width: 4rpx; background-color: #f37b1d; } -.indexToast{ + +.indexToast { position: fixed; top: 0; - right: 40px; + right: 80rpx; bottom: 0; - background: rgba(0,0,0,0.5); - width: 50px; - height: 50px; - border-radius: 5px; + background: rgba(0, 0, 0, 0.5); + width: 100rpx; + height: 100rpx; + border-radius: 10rpx; margin: auto; color: #fff; - line-height: 50px; + line-height: 100rpx; text-align: center; - font-size: 24px; -} \ No newline at end of file + font-size: 48rpx; +} diff --git a/demo/pages/plugin/verticalnav/verticalnav.js b/demo/pages/plugin/verticalnav/verticalnav.js index 50f81a6..8fa91e5 100644 --- a/demo/pages/plugin/verticalnav/verticalnav.js +++ b/demo/pages/plugin/verticalnav/verticalnav.js @@ -5,15 +5,66 @@ Page({ CustomBar: app.globalData.CustomBar, Custom: app.globalData.Custom, TabCur: 0, - VerticalNavTop: 0 + MainCur: 0, + VerticalNavTop: 0, + list: [], + load: true + }, + onLoad() { + wx.showLoading({ + title: '加载中...', + mask: true + }); + let list = [{}]; + for (let i = 0; i < 26; i++) { + list[i] = {}; + list[i].name = String.fromCharCode(65 + i); + list[i].id = i; + } + this.setData({ + list: list, + listCur: list[0] + }) + }, + onReady() { + wx.hideLoading() }, tabSelect(e) { this.setData({ TabCur: e.currentTarget.dataset.id, + MainCur: e.currentTarget.dataset.id, VerticalNavTop: (e.currentTarget.dataset.id - 1) * 50 }) }, VerticalMain(e) { - console.log(e.detail); + let that = this; + let list = this.data.list; + let tabHeight = 0; + if (this.data.load) { + for (let i = 0; i < list.length; i++) { + let view = wx.createSelectorQuery().select("#main-" + list[i].id); + view.fields({ + size: true + }, data => { + list[i].top = tabHeight; + tabHeight = tabHeight + data.height; + list[i].bottom = tabHeight; + }).exec(); + } + that.setData({ + load: false, + list: list + }) + } + let scrollTop = e.detail.scrollTop + 20; + for (let i = 0; i < list.length; i++) { + if (scrollTop > list[i].top && scrollTop < list[i].bottom) { + that.setData({ + VerticalNavTop: (list[i].id - 1) * 50, + TabCur: list[i].id + }) + return false + } + } } -}) +}) \ No newline at end of file diff --git a/demo/pages/plugin/verticalnav/verticalnav.wxml b/demo/pages/plugin/verticalnav/verticalnav.wxml index 559154b..e27499e 100644 --- a/demo/pages/plugin/verticalnav/verticalnav.wxml +++ b/demo/pages/plugin/verticalnav/verticalnav.wxml @@ -1,6 +1,6 @@ - + 返回 Tab索引 @@ -13,70 +13,103 @@ - - Tab{{index +1}} + + Tab-{{item.name}} - - + + - Tab{{index +1}} + Tab-{{item.name}} - + - - - 文晓港 - - 消息未送达 + + + 凯尔 + + + 我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。 + + - - 22:20 + + 22:20 5 - + 99+ - - 文晓港 - SVIP + + + 瓦洛兰之盾-塔里克 + 战士 + + + + 塔里克是保护者星灵,用超乎寻常的力量守护着符文之地的生命、仁爱以及万物之美。塔里克由于渎职而被放逐,离开了祖国德玛西亚,前去攀登巨神峰寻找救赎,但他找到的却是来自星界的更高层的召唤。现在的塔里克与古代巨神族的神力相融合,以瓦洛兰之盾的身份,永不疲倦地警惕着阴险狡诈的虚空腐化之力。 + - - 收到红包 - - 22:20 - + + 22:20 + - - - 喵星人互动群 - - 喵星酱:喵喵喵! + + + + 莫甘娜 + + + 凯尔,你被自己的光芒变的盲目! + - - 22:20 + + 22:20 5 - - - 喵星人互动群 - - 喵星酱:喵喵喵! + + + + 伊泽瑞尔 + 断开连接... + + + 等我回来一个打十个 + - - 22:20 + + 22:20 5 + + + + + + + 瓦罗兰大陆-睡衣守护者-新手保护营 + 6人 + + + 伊泽瑞尔: 传送中... + + + + 22:20 + + + + \ No newline at end of file diff --git a/demo/project.config.json b/demo/project.config.json index c975017..25c41b2 100644 --- a/demo/project.config.json +++ b/demo/project.config.json @@ -11,7 +11,7 @@ "newFeature": true }, "compileType": "miniprogram", - "libVersion": "2.5.2", + "libVersion": "2.6.4", "appid": "wxfd5241d66a07713f", "projectname": "ColorUI2.0-demo", "debugOptions": { @@ -36,7 +36,7 @@ "list": [] }, "miniprogram": { - "current": 32, + "current": 27, "list": [ { "id": 0, @@ -201,13 +201,13 @@ "query": "", "scene": null }, - { - "id": -1, - "name": "3.4 扩展-垂直导航", - "pathName": "pages/plugin/home/home", - "query": "", - "scene": null - }, + { + "id": 27, + "name": "3.4 扩展-垂直导航", + "pathName": "pages/plugin/verticalnav/verticalnav", + "query": "", + "scene": null + }, { "id": -1, "name": "-----关于-首页-----", diff --git a/template/app.json b/template/app.json index 1c865bb..40b6524 100644 --- a/template/app.json +++ b/template/app.json @@ -8,5 +8,8 @@ "navigationBarTitleText": "ColorUI", "navigationStyle": "custom", "navigationBarTextStyle": "white" + }, + "usingComponents": { + "cu-custom": "/colorui/components/cu-custom" } } diff --git a/template/app.wxss b/template/app.wxss index 9569f3e..97c8b6a 100644 --- a/template/app.wxss +++ b/template/app.wxss @@ -1,131 +1,2 @@ -@import "icon.wxss"; -@import "colorui.wxss"; - -.nav-list { - display: flex; - flex-wrap: wrap; - padding: 0px 40rpx 0px; - justify-content: space-between; -} - -.nav-li { - padding: 30rpx; - border-radius: 12rpx; - width: 45%; - margin: 0 2.5% 40rpx; - background-image: url(https://image.weilanwl.com/color2.0/cardBg.png); - background-size: cover; - background-position: center; - position: relative; - z-index: 1; -} - -.nav-li::after { - content: ""; - position: absolute; - z-index: -1; - background-color: inherit; - width: 100%; - height: 100%; - left: 0; - bottom: -10%; - border-radius: 10rpx; - opacity: 0.2; - transform: scale(0.9, 0.9); -} - -.nav-li.cur { - color: #fff; - background: rgb(94, 185, 94); - box-shadow: 4rpx 4rpx 6rpx rgba(94, 185, 94, 0.4); -} - -.nav-title { - font-size: 32rpx; - font-weight: 300; -} - -.nav-title::first-letter { - font-size: 40rpx; - margin-right: 4rpx; -} - -.nav-name { - font-size: 28rpx; - text-transform: Capitalize; - margin-top: 20rpx; - position: relative; -} - -.nav-name::before { - content: ""; - position: absolute; - display: block; - width: 40rpx; - height: 6rpx; - background: #fff; - bottom: 0; - right: 0; - opacity: 0.5; -} - -.nav-name::after { - content: ""; - position: absolute; - display: block; - width: 100rpx; - height: 1px; - background: #fff; - bottom: 0; - right: 40rpx; - opacity: 0.3; -} - -.nav-name::first-letter { - font-weight: bold; - font-size: 36rpx; - margin-right: 1px; -} - -.nav-li text { - position: absolute; - right: 30rpx; - top: 30rpx; - font-size: 52rpx; - width: 60rpx; - height: 60rpx; - text-align: center; - line-height: 60rpx; -} - -.text-light { - font-weight: 300; -} - -@keyframes show { - 0% { - transform: translateY(-50px); - } - - 60% { - transform: translateY(40rpx); - } - - 100% { - transform: translateY(0px); - } -} - -@-webkit-keyframes show { - 0% { - transform: translateY(-50px); - } - - 60% { - transform: translateY(40rpx); - } - - 100% { - transform: translateY(0px); - } -} +@import "colorui/main.wxss"; +@import "colorui/icon.wxss"; diff --git a/template/colorui/animation.wxss b/template/colorui/animation.wxss new file mode 100644 index 0000000..931bb51 --- /dev/null +++ b/template/colorui/animation.wxss @@ -0,0 +1,184 @@ +/* + Animation 微动画 + 基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28 + */ + +/* css 滤镜 控制黑白底色gif的 */ +.gif-black{ + mix-blend-mode: screen; +} +.gif-white{ + mix-blend-mode: multiply; +} + + +/* Animation css */ +[class*=animation-] { + animation-duration: .5s; + animation-timing-function: ease-out; + animation-fill-mode: both +} + +.animation-fade { + animation-name: fade; + animation-duration: .8s; + animation-timing-function: linear +} + +.animation-scale-up { + animation-name: scale-up +} + +.animation-scale-down { + animation-name: scale-down +} + +.animation-slide-top { + animation-name: slide-top +} + +.animation-slide-bottom { + animation-name: slide-bottom +} + +.animation-slide-left { + animation-name: slide-left +} + +.animation-slide-right { + animation-name: slide-right +} + +.animation-shake { + animation-name: shake +} + +.animation-reverse { + animation-direction: reverse +} + +@keyframes fade { + 0% { + opacity: 0 + } + + 100% { + opacity: 1 + } +} + +@keyframes scale-up { + 0% { + opacity: 0; + transform: scale(.2) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes scale-down { + 0% { + opacity: 0; + transform: scale(1.8) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes slide-top { + 0% { + opacity: 0; + transform: translateY(-100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes slide-bottom { + 0% { + opacity: 0; + transform: translateY(100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes shake { + + 0%, + 100% { + transform: translateX(0) + } + + 10% { + transform: translateX(-9px) + } + + 20% { + transform: translateX(8px) + } + + 30% { + transform: translateX(-7px) + } + + 40% { + transform: translateX(6px) + } + + 50% { + transform: translateX(-5px) + } + + 60% { + transform: translateX(4px) + } + + 70% { + transform: translateX(-3px) + } + + 80% { + transform: translateX(2px) + } + + 90% { + transform: translateX(-1px) + } +} + +@keyframes slide-left { + 0% { + opacity: 0; + transform: translateX(-100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} + +@keyframes slide-right { + 0% { + opacity: 0; + transform: translateX(100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} \ No newline at end of file diff --git a/template/colorui/components/cu-custom.js b/template/colorui/components/cu-custom.js new file mode 100644 index 0000000..0324164 --- /dev/null +++ b/template/colorui/components/cu-custom.js @@ -0,0 +1,54 @@ +const app = getApp(); +Component({ + /** + * 组件的一些选项 + */ + options: { + addGlobalClass: true, + multipleSlots: true + }, + /** + * 组件的对外属性 + */ + properties: { + bgColor: { + type: String, + default: '' + }, + isCustom: { + type: [Boolean, String], + default: false + }, + isBack: { + type: [Boolean, String], + default: false + }, + bgImage: { + type: String, + default: '' + }, + }, + /** + * 组件的初始数据 + */ + data: { + StatusBar: app.globalData.StatusBar, + CustomBar: app.globalData.CustomBar, + Custom: app.globalData.Custom + }, + /** + * 组件的方法列表 + */ + methods: { + BackPage() { + wx.navigateBack({ + delta: 1 + }); + }, + toHome(){ + wx.reLaunch({ + url: '/pages/index/index', + }) + } + } +}) \ No newline at end of file diff --git a/template/colorui/components/cu-custom.json b/template/colorui/components/cu-custom.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/template/colorui/components/cu-custom.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/template/colorui/components/cu-custom.wxml b/template/colorui/components/cu-custom.wxml new file mode 100644 index 0000000..e29bdf6 --- /dev/null +++ b/template/colorui/components/cu-custom.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/template/colorui/components/cu-custom.wxss b/template/colorui/components/cu-custom.wxss new file mode 100644 index 0000000..07675e2 --- /dev/null +++ b/template/colorui/components/cu-custom.wxss @@ -0,0 +1 @@ +/* colorui/components/cu-custom.wxss */ \ No newline at end of file diff --git a/template/icon.wxss b/template/colorui/icon.wxss similarity index 99% rename from template/icon.wxss rename to template/colorui/icon.wxss index 3bd84bd..0571cdc 100644 --- a/template/icon.wxss +++ b/template/colorui/icon.wxss @@ -21,14 +21,16 @@ display: inline-block; } -[class*="icon-"] { - font-family: "iconfont" !important; +text[class*="icon-"], +view[class*="icon-"], +button[class*="icon-"] { + font-family: "cuIcon" !important; font-size: inherit; font-style: normal; } -@font-face {font-family: "iconfont"; +@font-face {font-family: "cuIcon"; src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831'); /* IE9*/ src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'), diff --git a/template/colorui.wxss b/template/colorui/main.wxss similarity index 85% rename from template/colorui.wxss rename to template/colorui/main.wxss index a027af1..c6142b4 100644 --- a/template/colorui.wxss +++ b/template/colorui/main.wxss @@ -1,6 +1,8 @@ /* - Color UI v2.0.7 | by 文晓港 - 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + ColorUi for MP-weixin v2.1.2 | by 文晓港 2019年3月28日21:24:42 + 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + 使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 + (QQ交流群:240787041) 文档:http://www.color-ui.com/ */ @@ -10,14 +12,35 @@ ==================== */ page { - background: #f1f1f1; + background-color: #f1f1f1; font-size: 28rpx; color: #333; font-family: Helvetica Neue, Helvetica, sans-serif; + /* Color 可以自定义相关配色 */ + --red: #e54d42; + --orange: #f37b1d; + --yellow: #fbbd08; + --olive: #8dc63f; + --green: #39b54a; + --cyan: #1cbbb4; + --blue: #0081ff; + --purple: #6739b6; + --mauve: #9c26b0; + --pink: #e03997; + --brown: #a5673f; + --grey: #8799a3; + --gray: #aaa; + --black: #333; + --white: #fff; + --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c); + --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24); + --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f); + --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff); + --gradualPink: linear-gradient(45deg, #ec008c, #6739b6); + --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4); } -view, text, scroll-view, swiper, button, form, input, textarea, label, navigator, -image { +view, scroll-view, swiper, button, input, textarea, label, navigator, image { box-sizing: border-box; } @@ -42,7 +65,7 @@ image { image.loading::before { content: ""; - background: #f5f5f5; + background-color: #f5f5f5; display: block; position: absolute; width: 100%; @@ -52,7 +75,7 @@ image.loading::before { image.loading::after { content: "\e7f1"; - font-family: "iconfont"; + font-family: "cuIcon"; position: absolute; top: 0; left: 0; @@ -83,7 +106,7 @@ switch, checkbox, radio { } switch::after, switch::before { - font-family: "iconfont"; + font-family: "cuIcon"; content: "\e645"; position: absolute; color: #fff !important; @@ -106,16 +129,16 @@ switch::before { left: auto; } -switch[checked]::after { +switch[checked]::after, switch.checked::after { transform: scale(1, 1); } -switch[checked]::before { +switch[checked]::before, switch.checked::before { transform: scale(0, 0); } radio::before, checkbox::before { - font-family: "iconfont"; + font-family: "cuIcon"; content: "\e645"; position: absolute; color: #fff !important; @@ -144,7 +167,7 @@ switch .wx-switch-input { } switch .wx-switch-input:not([class*="bg-"]) { - background: #aaa !important; + background: var(--grey) !important; } switch .wx-switch-input::after { @@ -193,7 +216,7 @@ checkbox .wx-checkbox-input::before, radio .wx-radio-input::before { radio.radio[checked]::after { content: ""; - background: transparent; + background-color: transparent; display: block; position: absolute; width: 8px; @@ -217,87 +240,87 @@ radio.radio[checked]::after { } .switch-sex .wx-switch-input { - background: #e54d42 !important; - border-color: #e54d42 !important; + background: var(--red) !important; + border-color: var(--red) !important; } .switch-sex[checked] .wx-switch-input { - background: #0081ff !important; - border-color: #0081ff !important; + background: var(--blue) !important; + border-color: var(--blue) !important; } switch.red[checked] .wx-switch-input, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { - border-color: #e54d42 !important; + border-color: var(--red) !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { - border-color: #f37b1d !important; + border-color: var(--orange) !important; } switch.yellow[checked] .wx-switch-input, checkbox.yellow[checked] .wx-checkbox-input, radio.yellow[checked] .wx-radio-input { - border-color: #fbbd08 !important; + border-color: var(--yellow) !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { - border-color: #8dc63f !important; + border-color: var(--olive) !important; } switch.green[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input { - border-color: #39b54a !important; + border-color: var(--green) !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { - border-color: #1cbbb4 !important; + border-color: var(--cyan) !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { - border-color: #0081ff !important; + border-color: var(--blue) !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { - border-color: #6739b6 !important; + border-color: var(--purple) !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { - border-color: #9c26b0 !important; + border-color: var(--mauve) !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { - border-color: #e03997 !important; + border-color: var(--pink) !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { - border-color: #a5673f !important; + border-color: var(--brown) !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { - border-color: #8799a3 !important; + border-color: var(--grey) !important; } switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input { - border-color: #aaa !important; + border-color: var(--grey) !important; } switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { - border-color: #333 !important; + border-color: var(--black) !important; } switch.white[checked] .wx-switch-input, @@ -307,77 +330,77 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input switch.red[checked] .wx-switch-input.wx-switch-input-checked, checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input { - background-color: #e54d42 !important; + background-color: var(--red) !important; color: #fff !important; } switch.orange[checked] .wx-switch-input, checkbox.orange[checked] .wx-checkbox-input, radio.orange[checked] .wx-radio-input { - background-color: #f37b1d !important; + background-color: var(--orange) !important; color: #fff !important; } 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; + background-color: var(--yellow) !important; + color: var(--black) !important; } switch.olive[checked] .wx-switch-input, checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input { - background-color: #8dc63f !important; + background-color: var(--olive) !important; color: #fff !important; } switch.green[checked] .wx-switch-input, switch[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input, radio[checked] .wx-radio-input { - background-color: #39b54a !important; + background-color: var(--green) !important; color: #fff !important; } switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input { - background-color: #1cbbb4 !important; + background-color: var(--cyan) !important; color: #fff !important; } switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input { - background-color: #0081ff !important; + background-color: var(--blue) !important; color: #fff !important; } switch.purple[checked] .wx-switch-input, checkbox.purple[checked] .wx-checkbox-input, radio.purple[checked] .wx-radio-input { - background-color: #6739b6 !important; + background-color: var(--purple) !important; color: #fff !important; } switch.mauve[checked] .wx-switch-input, checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input { - background-color: #9c26b0 !important; + background-color: var(--mauve) !important; color: #fff !important; } switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input { - background-color: #e03997 !important; + background-color: var(--pink) !important; color: #fff !important; } switch.brown[checked] .wx-switch-input, checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input { - background-color: #a5673f !important; + background-color: var(--brown) !important; color: #fff !important; } switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input { - background-color: #8799a3 !important; + background-color: var(--grey) !important; color: #fff !important; } @@ -389,7 +412,7 @@ radio.gray[checked] .wx-radio-input { switch.black[checked] .wx-switch-input, checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input { - background-color: #333 !important; + background-color: var(--black) !important; color: #fff !important; } @@ -449,23 +472,23 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input } .solids::after { - border: 4rpx solid #eee; + border: 8rpx solid #eee; } .solids-top::after { - border-top: 4rpx solid #eee; + border-top: 8rpx solid #eee; } .solids-right::after { - border-right: 4rpx solid #eee; + border-right: 8rpx solid #eee; } .solids-bottom::after { - border-bottom: 4rpx solid #eee; + border-bottom: 8rpx solid #eee; } .solids-left::after { - border-left: 4rpx solid #eee; + border-left: 8rpx solid #eee; } /* -- 虚线 -- */ @@ -590,7 +613,7 @@ checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input transform: scale(0.5); transform-origin: 0 0; box-sizing: border-box; - border-radius: 24rpx; + border-radius: 12rpx; z-index: 1; pointer-events: none; } @@ -675,6 +698,7 @@ button.icon.lg { padding: 0rpx 16rpx; height: 48rpx; font-family: Helvetica Neue, Helvetica, sans-serif; + white-space: nowrap; } .cu-tag:not([class*="bg"]):not([class*="line"]) { @@ -776,7 +800,7 @@ button.icon.lg { } .cu-tag.badge:not([class*="bg-"]) { - background: #dd514c; + background-color: #dd514c; } .cu-tag:empty:not([class*="icon"]) { @@ -806,7 +830,7 @@ button.icon.lg { text-align: center; justify-content: center; align-items: center; - background: #ccc; + background-color: #ccc; color: #fff; white-space: nowrap; position: relative; @@ -937,7 +961,7 @@ button.icon.lg { } .cu-load::before { - font-family: "iconfont"; + font-family: "cuIcon"; display: inline-block; margin-right: 6rpx; } @@ -988,7 +1012,7 @@ button.icon.lg { margin: auto; width: 260rpx; height: 260rpx; - background: #fff; + background-color: #fff; border-radius: 10rpx; box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5); display: flex; @@ -1012,7 +1036,7 @@ button.icon.lg { .cu-load.load-modal::after { content: ""; position: absolute; - background: #fff; + background-color: #fff; border-radius: 50%; width: 200rpx; height: 200rpx; @@ -1020,7 +1044,7 @@ button.icon.lg { border-top: 6rpx solid rgba(0, 0, 0, 0.05); border-right: 6rpx solid rgba(0, 0, 0, 0.05); border-bottom: 6rpx solid rgba(0, 0, 0, 0.05); - border-left: 6rpx solid #f37b1d; + border-left: 6rpx solid var(--orange); animation: icon-spin 1s infinite linear; z-index: -1; } @@ -1097,139 +1121,51 @@ button.icon.lg { 列表 ==================== */ -.cu-list.menu { - display: block; - overflow: hidden; +.grayscale { + filter: grayscale(1); } .cu-list+.cu-list { margin-top: 30rpx; } -.cu-list.menu>.cu-item { - position: relative; +.cu-list>.cu-item { + transition: all 0.6s ease-in-out 0s; + transform: translateX(0rpx); +} + +.cu-list>.cu-item.move-cur { + transform: translateX(-260rpx); +} + +.cu-list>.cu-item .move { + position: absolute; + right: 0; display: flex; - justify-content: space-between; - align-items: center; - min-height: 100rpx; - background: #fff; - padding: 0 30rpx; + width: 260rpx; + height: 100%; + transform: translateX(100%); } -.cu-list.menu>.cu-item::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; - border-bottom: 1rpx solid #ddd; -} - -.cu-list.menu.sm-border>.cu-item::after { - width: calc(200% - 120rpx); - left: 30rpx; -} - -.cu-list.menu>.cu-item:last-child::after { - border: none; -} - -.cu-list.menu>.cu-item.cur { - background-color: #fcf7e9; -} - -.cu-list.menu-avatar>.cu-item { - padding-left: 140rpx; -} - -.cu-list.menu-avatar>.cu-item .cu-avatar { - left: 30rpx; -} - -.cu-list.menu>.cu-item .content { - line-height: 1.6em; +.cu-list>.cu-item .move view { + display: flex; flex: 1; - font-size: 30rpx; + justify-content: center; + align-items: center; } -.cu-list.menu>.cu-item button.content { - padding: 0; - justify-content: flex-start; - background-color: transparent; -} - -.cu-list.menu>.cu-item button.content::after { - display: none; -} - -.cu-list.menu>.cu-item .content>text[class*="icon"] { - margin-right: 10rpx; - display: inline-block; - width: 1.6em; - text-align: center; -} - -.cu-list.menu>.cu-item .content>image { - margin-right: 10rpx; - display: inline-block; - width: 1.6em; - height: 1.6em; - vertical-align: middle; -} - -.cu-list.menu-avatar>.cu-item .action { - text-align: center; -} - -.cu-list.menu-avatar>.cu-item .action view + view { - margin-top: 10rpx; -} - -.cu-list.menu>.cu-item .action .cu-tag:empty { - right: 10rpx; -} - -.cu-list.menu>.cu-item.arrow { - padding-right: 90rpx; -} - -.cu-list.menu>.cu-item.arrow::before { - font-family: "iconfont"; - display: block; - content: "\e6a3"; - position: absolute; - font-size: 34rpx; - color: #aaa; - line-height: 30rpx; - height: 30rpx; - width: 30rpx; - text-align: center; - top: 0rpx; - bottom: 0; - right: 30rpx; - margin: auto; -} - -.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { - border-color: #fff; -} - -.cu-list.card-menu { - margin-left: 30rpx; - margin-right: 30rpx; - border-radius: 20rpx; +.cu-list.menu-avatar { overflow: hidden; } .cu-list.menu-avatar>.cu-item { - padding-left: 140rpx; + position: relative; + display: flex; + padding-right: 30rpx; height: 140rpx; + background-color: #fff; + justify-content: flex-end; + align-items: center; } .cu-list.menu-avatar>.cu-item>.cu-avatar { @@ -1237,89 +1173,229 @@ button.icon.lg { left: 30rpx; } +.cu-list.menu-avatar>.cu-item .flex .text-cut { + max-width: 510rpx; +} + +.cu-list.menu-avatar>.cu-item .content { + position: absolute; + left: 146rpx; + width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx); + line-height: 1.6em; +} + +.cu-list.menu-avatar>.cu-item .content.flex-sub { + width: calc(100% - 96rpx - 60rpx - 20rpx); +} + +.cu-list.menu-avatar>.cu-item .content>view:first-child { + font-size: 30rpx; + display: flex; + align-items: center; +} + +.cu-list.menu-avatar>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx; +} + +.cu-list.menu-avatar>.cu-item .action { + width: 100rpx; + text-align: center; +} + +.cu-list.menu-avatar>.cu-item .action view+view { + margin-top: 10rpx; +} + +.cu-list.menu-avatar.comment>.cu-item .content { + position: relative; + left: 0; + width: auto; + flex: 1; +} + .cu-list.menu-avatar.comment>.cu-item { + padding: 30rpx 30rpx 30rpx 120rpx; height: auto; - padding-top: 30rpx; - padding-bottom: 30rpx; - padding-left: 120rpx; } .cu-list.menu-avatar.comment .cu-avatar { align-self: flex-start; } -.cu-list.menu>.cu-item .content .cu-tag.sm { - font-size: 16rpx; - line-height: 80%; - padding: 8rpx 6rpx 4rpx; - margin-top: -6rpx; +.cu-list.menu>.cu-item { + position: relative; + display: flex; + padding: 0 30rpx; + min-height: 100rpx; + background-color: #fff; + justify-content: space-between; + align-items: center; } -.cu-list.grid { +.cu-list.menu>.cu-item:last-child:after { + border: none; +} + +.cu-list.menu>.cu-item:after { + position: absolute; + top: 0; + left: 0; + box-sizing: border-box; + width: 200%; + height: 200%; + border-bottom: 1rpx solid #ddd; + border-radius: inherit; + content: " "; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; +} + +.cu-list.menu>.cu-item.grayscale { + background-color: #f5f5f5; +} + +.cu-list.menu>.cu-item.cur { + background-color: #fcf7e9; +} + +.cu-list.menu>.cu-item.arrow { + padding-right: 90rpx; +} + +.cu-list.menu>.cu-item.arrow:before { + content: "\e6a3"; + position: absolute; + top: 0; + right: 30rpx; + bottom: 0; + display: block; + margin: auto; + width: 30rpx; + height: 30rpx; + color: var(--grey); text-align: center; - background: #fff; + font-size: 34rpx; + font-family: cuIcon; + line-height: 30rpx; +} + +.cu-list.menu>.cu-item button.content { + padding: 0; + background-color: transparent; + justify-content: flex-start; +} + +.cu-list.menu>.cu-item button.content:after { + display: none; +} + +.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { + border-color: #fff; +} + +.cu-list.menu>.cu-item .content>view:first-child { + display: flex; + align-items: center; +} + +.cu-list.menu>.cu-item .content>text[class*=icon] { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + text-align: center; +} + +.cu-list.menu>.cu-item .content>image { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + height: 1.6em; + vertical-align: middle; +} + +.cu-list.menu>.cu-item .content { + font-size: 30rpx; + line-height: 1.6em; + flex: 1; +} + +.cu-list.menu>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx; +} + +.cu-list.menu>.cu-item .action .cu-tag:empty { + right: 10rpx; +} + +.cu-list.menu { + display: block; + overflow: hidden; +} + +.cu-list.menu.sm-border>.cu-item:after { + left: 30rpx; + width: calc(200% - 120rpx); } .cu-list.grid>.cu-item { - display: flex; - flex-direction: column; - padding: 20rpx 0 30rpx; position: relative; + display: flex; + padding: 20rpx 0 30rpx; transition-duration: 0s; + flex-direction: column; } -.cu-list.grid>.cu-item [class*="icon"] { - display: block; - width: 100%; - position: relative; - font-size: 48rpx; - margin-top: 20rpx; +.cu-list.grid>.cu-item:after { + position: absolute; + top: 0; + left: 0; + box-sizing: border-box; + width: 200%; + height: 200%; + border-right: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: inherit; + content: " "; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; } .cu-list.grid>.cu-item text { display: block; - color: #888; margin-top: 10rpx; - line-height: 40rpx; + color: #888; font-size: 26rpx; + line-height: 40rpx; +} + +.cu-list.grid>.cu-item [class*=icon] { + position: relative; + display: block; + margin-top: 20rpx; + width: 100%; + font-size: 48rpx; } .cu-list.grid>.cu-item .cu-tag { - left: 50%; right: auto; + left: 50%; margin-left: 20rpx; } -.cu-list.grid>.cu-item::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; - border-right: 1px solid rgba(0, 0, 0, 0.1); - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} - -.cu-list.grid.col-3>.cu-item:nth-child(3n)::after { - border-right-width: 0px; -} - -.cu-list.grid.col-4>.cu-item:nth-child(4n)::after { - border-right-width: 0px; -} - -.cu-list.grid.col-5>.cu-item:nth-child(5n)::after { - border-right-width: 0px; -} - -.cu-list.grid.no-border { - padding: 20rpx 10rpx; +.cu-list.grid { + background-color: #fff; + text-align: center; } .cu-list.grid.no-border>.cu-item { @@ -1327,33 +1403,25 @@ button.icon.lg { padding-bottom: 20rpx; } -.cu-list.grid.no-border>.cu-item::after { +.cu-list.grid.no-border>.cu-item:after { border: none; } -.cu-list>.cu-item { - transform: translateX(0rpx); - transition: all 0.6s ease-in-out 0s; +.cu-list.grid.no-border { + padding: 20rpx 10rpx; } -.cu-list>.cu-item .move { - display: flex; - width: 260rpx; - height: 100%; - position: absolute; - right: 0; - transform: translateX(100%); +.cu-list.grid.col-3>.cu-item:nth-child(3n):after, +.cu-list.grid.col-4>.cu-item:nth-child(4n):after, +.cu-list.grid.col-5>.cu-item:nth-child(5n):after { + border-right-width: 0; } -.cu-list>.cu-item.move-cur { - transform: translateX(-260rpx); -} - -.cu-list>.cu-item .move view { - flex: 1; - display: flex; - justify-content: center; - align-items: center; +.cu-list.card-menu { + overflow: hidden; + margin-right: 30rpx; + margin-left: 30rpx; + border-radius: 20rpx; } /* ================== @@ -1454,7 +1522,7 @@ button.icon.lg { margin-right: 30rpx; } -.cu-bar .action > text[class*="icon"], .cu-bar .action > view[class*="icon"] { +.cu-bar .action>text[class*="icon"], .cu-bar .action>view[class*="icon"] { font-size: 36rpx; } @@ -1503,7 +1571,7 @@ button.icon.lg { } .cu-bar .search-form { - background: #f5f5f5; + background-color: #f5f5f5; line-height: 64rpx; height: 64rpx; font-size: 24rpx; @@ -1552,7 +1620,6 @@ button.icon.lg { .cu-bar.tabbar { padding: 0; - z-index: 0; height: calc(100rpx + env(safe-area-inset-bottom) / 2); padding-bottom: calc(env(safe-area-inset-bottom) / 2); } @@ -1744,11 +1811,14 @@ button.icon.lg { .cu-custom .cu-bar { min-height: 0px; + padding-right: 200rpx; + box-shadow: 0rpx 0rpx 0rpx; + z-index: 9999; } -.cu-custom .cu-bar { - padding-right: 220rpx; - box-shadow: 0rpx 0rpx 0rpx; +.cu-custom .cu-bar .content image { + height: 60rpx; + width: 240rpx; } .cu-custom .cu-bar .border-custom { @@ -1829,7 +1899,7 @@ button.icon.lg { .cu-timeline { display: block; - background: #fff; + background-color: #fff; } .cu-timeline .cu-time { @@ -1857,7 +1927,7 @@ button.icon.lg { display: block; position: absolute; width: 1rpx; - background: #ddd; + background-color: #ddd; left: 60rpx; height: 100%; top: 0; @@ -1865,12 +1935,12 @@ button.icon.lg { } .cu-timeline>.cu-item::before { - font-family: "iconfont"; + font-family: "cuIcon"; display: block; position: absolute; top: 36rpx; z-index: 9; - background: #fff; + background-color: #fff; width: 50rpx; height: 50rpx; text-align: center; @@ -1884,7 +1954,7 @@ button.icon.lg { } .cu-timeline>.cu-item[class*="icon"]::before { - background: #fff; + background-color: #fff; width: 50rpx; height: 50rpx; text-align: center; @@ -1901,7 +1971,7 @@ button.icon.lg { } .cu-timeline>.cu-item>.content:not([class*="bg-"]) { - background: #f1f1f1; + background-color: #f1f1f1; color: #666; } @@ -1954,14 +2024,14 @@ button.icon.lg { } .cu-chat .cu-item>.main .content:not([class*="bg-"]) { - background: #fff; + background-color: #fff; color: #666; } .cu-chat .cu-item .date { position: absolute; font-size: 24rpx; - color: #aaa; + color: var(--grey); width: calc(100% - 320rpx); bottom: 20rpx; left: 160rpx; @@ -2011,7 +2081,7 @@ button.icon.lg { } .cu-chat .cu-item>.main .content:not([class*="bg-"])::before { - background-color: #333; + background-color: var(--black); opacity: 0.1; } @@ -2087,9 +2157,6 @@ button.icon.lg { width: 100%; background-color: transparent; padding: 0rpx 30rpx; - word-wrap: normal; - text-overflow: ellipsis; - white-space: nowrap; } .cu-card.case.no-card .image { @@ -2130,7 +2197,7 @@ button.icon.lg { /* card.dynamic>.cu-item .comment { padding: 20rpx; - background: #f1f1f1; + background-color: #f1f1f1; margin: 0 30rpx 30rpx; border-radius: 6rpx; } */ @@ -2146,10 +2213,7 @@ button.icon.lg { .cu-card.article>.cu-item .title { font-size: 30rpx; font-weight: 900; - word-wrap: normal; - text-overflow: ellipsis; - white-space: nowrap; - color: #333; + color: var(--black); line-height: 100rpx; padding: 0 30rpx; } @@ -2185,7 +2249,7 @@ button.icon.lg { ==================== */ .cu-form-group { - background: #fff; + background-color: #fff; padding: 1rpx 30rpx; display: flex; align-items: center; @@ -2206,10 +2270,6 @@ button.icon.lg { line-height: 60rpx; } -.cu-form-group.top { - align-items: baseline; -} - .cu-form-group input { flex: 1; font-size: 30rpx; @@ -2223,9 +2283,16 @@ button.icon.lg { box-sizing: border-box; } -.cu-form-group textarea, .cu-form-group textarea textarea { +.cu-form-group.top .title { + height: 1em; + line-height: 1; + align-self: flex-start; + margin-top: 16px; +} + +.cu-form-group textarea { margin: 32rpx 0 30rpx; - height: 4.8em; + height: 4.6em; width: 100%; line-height: 1.2em; flex: 1; @@ -2236,13 +2303,23 @@ button.icon.lg { vertical-align: top; } -.cu-form-group textarea::after { - content: "测试文字"; - opacity: 0; +.cu-form-group textarea .placeholder { + color: transparent; } -.cu-form-group .grid-square { - margin: 20rpx 0 0; +.cu-form-group textarea::after { + content: attr(data-placeholder); + color: gray; + position: absolute; + top: 0; + left: 0; + pointer-events: none; + transition: 0.2s; + opacity: 1; +} + +.cu-form-group textarea.value::after { + opacity: 0; } .cu-form-group picker { @@ -2263,12 +2340,12 @@ button.icon.lg { } .cu-form-group picker::after { - font-family: iconfont; + font-family: cuIcon; display: block; content: "\e6a3"; position: absolute; font-size: 34rpx; - color: #aaa; + color: var(--grey); line-height: 100rpx; width: 60rpx; text-align: center; @@ -2331,7 +2408,7 @@ button.icon.lg { margin-right: auto; width: 680rpx; max-width: 100%; - background: #f8f8f8; + background-color: #f8f8f8; border-radius: 10rpx; overflow: hidden; } @@ -2383,7 +2460,7 @@ button.icon.lg { ==================== */ swiper.square-dot .wx-swiper-dot { - background: #fff; + background-color: #fff; opacity: 0.4; width: 10rpx; height: 10rpx; @@ -2397,7 +2474,6 @@ swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active { } swiper.round-dot .wx-swiper-dot { - /* background: #39b54a; */ width: 10rpx; height: 10rpx; top: -4rpx; @@ -2415,7 +2491,7 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after { right: 0; bottom: 0; margin: auto; - background: #fff; + background-color: #fff; border-radius: 20rpx; } @@ -2429,11 +2505,13 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { min-height: 375rpx; } -.screen-swiper image { +.screen-swiper image, .screen-swiper video, .swiper-item image, +.swiper-item video { width: 100%; display: block; height: 100%; margin: 0; + pointer-events: none; } .card-swiper { @@ -2448,16 +2526,17 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { overflow: initial; } -.card-swiper swiper-item .bg-img { +.card-swiper swiper-item .swiper-item { width: 100%; display: block; height: 100%; border-radius: 10rpx; transform: scale(0.9); transition: all 0.2s ease-in 0s; + overflow: hidden; } -.card-swiper swiper-item.cur .bg-img { +.card-swiper swiper-item.cur .swiper-item { transform: none; transition: all 0.2s ease-in 0s; } @@ -2465,6 +2544,8 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { .tower-swiper { height: 420rpx; position: relative; + max-width: 750rpx; + overflow: hidden; } .tower-swiper .tower-item { @@ -2475,7 +2556,7 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { bottom: 0; left: 50%; margin: auto; - transition: all 0.3s ease-in 0s; + transition: all 0.2s ease-in 0s; opacity: 1; } @@ -2483,10 +2564,11 @@ swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { opacity: 0; } -.tower-swiper .tower-item .bg-img { +.tower-swiper .tower-item .swiper-item { width: 100%; height: 100%; border-radius: 6rpx; + overflow: hidden; } /* ================== @@ -2514,7 +2596,7 @@ scroll-view.cu-steps .cu-item { } .cu-steps .cu-item:not([class*="text-"]) { - color: #aaa; + color: var(--grey); } .cu-steps .cu-item [class*="icon"], .cu-steps .cu-item .num { @@ -2538,7 +2620,7 @@ scroll-view.cu-steps .cu-item { .cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after { content: "\e6a3"; - font-family: 'iconfont'; + font-family: 'cuIcon'; height: 30rpx; border-bottom-width: 0px; line-height: 30rpx; @@ -2609,7 +2691,7 @@ scroll-view.cu-steps .cu-item { .cu-steps .cu-item[class*="text-"] .num::after { content: "\e645"; - font-family: 'iconfont'; + font-family: 'cuIcon'; color: #fff; transform: translateY(0rpx); } @@ -2740,12 +2822,15 @@ scroll-view.cu-steps .cu-item { right: 0; top: 0; border-bottom-left-radius: 6rpx; + padding: 6rpx 12rpx; + height: auto; + background-color: rgba(0, 0, 0, 0.5); } -.grid.grid-square >view>text[class*="icon"] { +.grid.grid-square>view>text[class*="icon"] { font-size: 52rpx; position: absolute; - color: #aaa; + color: var(--grey); margin: auto; top: 0; bottom: 0; @@ -2757,7 +2842,7 @@ scroll-view.cu-steps .cu-item { flex-direction: column; } -.grid.grid-square > view { +.grid.grid-square>view { margin-right: 20rpx; margin-bottom: 20rpx; border-radius: 6rpx; @@ -2765,43 +2850,43 @@ scroll-view.cu-steps .cu-item { overflow: hidden; } -.grid.col-1.grid-square > view { +.grid.col-1.grid-square>view { padding-bottom: 100%; height: 0; margin-right: 0; } -.grid.col-2.grid-square > view { +.grid.col-2.grid-square>view { 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>view:nth-child(2n) { margin-right: 0; } -.grid.col-3.grid-square > view { +.grid.col-3.grid-square>view { 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>view:nth-child(3n) { margin-right: 0; } -.grid.col-4.grid-square > view { +.grid.col-4.grid-square>view { 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>view:nth-child(4n) { margin-right: 0; } -.grid.col-5.grid-square > view { +.grid.col-5.grid-square>view { padding-bottom: calc((100% - 80rpx)/5); height: 0; width: calc((100% - 80rpx)/5); @@ -3161,59 +3246,59 @@ scroll-view.cu-steps .cu-item { ==================== */ .line-red::after, .lines-red::after { - border-color: #e54d42; + border-color: var(--red); } .line-orange::after, .lines-orange::after { - border-color: #f37b1d; + border-color: var(--orange); } .line-yellow::after, .lines-yellow::after { - border-color: #fbbd08; + border-color: var(--yellow); } .line-olive::after, .lines-olive::after { - border-color: #8dc63f; + border-color: var(--olive); } .line-green::after, .lines-green::after { - border-color: #39b54a; + border-color: var(--green); } .line-cyan::after, .lines-cyan::after { - border-color: #1cbbb4; + border-color: var(--cyan); } .line-blue::after, .lines-blue::after { - border-color: #0081ff; + border-color: var(--blue); } .line-purple::after, .lines-purple::after { - border-color: #6739b6; + border-color: var(--purple); } .line-mauve::after, .lines-mauve::after { - border-color: #9c26b0; + border-color: var(--mauve); } .line-pink::after, .lines-pink::after { - border-color: #e03997; + border-color: var(--pink); } .line-brown::after, .lines-brown::after { - border-color: #a5673f; + border-color: var(--brown); } .line-grey::after, .lines-grey::after { - border-color: #8799a3; + border-color: var(--grey); } .line-gray::after, .lines-gray::after { - border-color: #aaa; + border-color: var(--grey); } .line-black::after, .lines-black::after { - border-color: #333; + border-color: var(--black); } .line-white::after, .lines-white::after { @@ -3221,62 +3306,62 @@ scroll-view.cu-steps .cu-item { } .bg-red { - background-color: #e54d42; + background-color: var(--red); color: #fff; } .bg-orange { - background-color: #f37b1d; + background-color: var(--orange); color: #fff; } .bg-yellow { - background-color: #fbbd08; - color: #333; + background-color: var(--yellow); + color: var(--black); } .bg-olive { - background-color: #8dc63f; + background-color: var(--olive); color: #fff; } .bg-green { - background-color: #39b54a; + background-color: var(--green); color: #fff; } .bg-cyan { - background-color: #1cbbb4; + background-color: var(--cyan); color: #fff; } .bg-blue { - background-color: #0081ff; + background-color: var(--blue); color: #fff; } .bg-purple { - background-color: #6739b6; + background-color: var(--purple); color: #fff; } .bg-mauve { - background-color: #9c26b0; + background-color: var(--mauve); color: #fff; } .bg-pink { - background-color: #e03997; + background-color: var(--pink); color: #fff; } .bg-brown { - background-color: #a5673f; + background-color: var(--brown); color: #fff; } .bg-grey { - background-color: #8799a3; + background-color: var(--grey); color: #fff; } @@ -3286,7 +3371,7 @@ scroll-view.cu-steps .cu-item { } .bg-black { - background-color: #333; + background-color: var(--black); color: #fff; } @@ -3306,102 +3391,102 @@ scroll-view.cu-steps .cu-item { } .bg-red.light { - color: #e54d42; - background: #fadbd9; + color: var(--red); + background-color: #fadbd9; } .bg-orange.light { - color: #f37b1d; - background: #fde6d2; + color: var(--orange); + background-color: #fde6d2; } .bg-yellow.light { - color: #fbbd08; - background: #fef2ce; + color: var(--yellow); + background-color: #fef2ce; } .bg-olive.light { - color: #8dc63f; - background: #e8f4d9; + color: var(--olive); + background-color: #e8f4d9; } .bg-green.light { - color: #39b54a; - background: #d7f0db; + color: var(--green); + background-color: #d7f0db; } .bg-cyan.light { - color: #1cbbb4; - background: #d2f1f0; + color: var(--cyan); + background-color: #d2f1f0; } .bg-blue.light { - color: #0081ff; - background: #cce6ff; + color: var(--blue); + background-color: #cce6ff; } .bg-purple.light { - color: #6739b6; - background: #e1d7f0; + color: var(--purple); + background-color: #e1d7f0; } .bg-mauve.light { - color: #9c26b0; - background: #ebd4ef; + color: var(--mauve); + background-color: #ebd4ef; } .bg-pink.light { - color: #e03997; - background: #f9d7ea; + color: var(--pink); + background-color: #f9d7ea; } .bg-brown.light { - color: #a5673f; - background: #ede1d9; + color: var(--brown); + background-color: #ede1d9; } .bg-grey.light { - color: #8799a3; - background: #e7ebed; + color: var(--grey); + background-color: #e7ebed; } .bg-gray.light { color: #666; - background: #fadbd9; + background-color: #fadbd9; } .bg-gray.light { color: #888; - background: #f1f1f1; + background-color: #f1f1f1; } .bg-gradual-red { - background-image: linear-gradient(45deg, #f43f3b, #ec008c); + background-image: var(--gradualRed); color: #fff; } .bg-gradual-orange { - background-image: linear-gradient(45deg, #ff9700, #ed1c24); + background-image: var(--gradualOrange); color: #fff; } .bg-gradual-green { - background-image: linear-gradient(45deg, #39b54a, #8dc63f); + background-image: var(--gradualGreen); color: #fff; } .bg-gradual-purple { - background-image: linear-gradient(45deg, #9000ff, #5e00ff); + background-image: var(--gradualPurple); color: #fff; } .bg-gradual-pink { - background-image: linear-gradient(45deg, #ec008c, #6739b6); + background-image: var(--gradualPink); color: #fff; } .bg-gradual-blue { - background-image: linear-gradient(45deg, #0081ff, #1cbbb4); + background-image: var(--gradualBlue); color: #fff; } @@ -3468,7 +3553,7 @@ scroll-view.cu-steps .cu-item { } .bg-mask { - background-color: #333; + background-color: var(--black); position: relative; } @@ -3478,7 +3563,7 @@ scroll-view.cu-steps .cu-item { width: 100%; height: 100%; display: block; - background-color: rgba(0, 0, 0, 0.5); + background-color: rgba(0, 0, 0, 0.4); position: absolute; left: 0; right: 0; @@ -3491,10 +3576,6 @@ scroll-view.cu-steps .cu-item { position: relative; } -.bg-mask>cover-view { - background-color: rgba(0, 0, 0, 0.5); -} - .bg-video { position: relative; } @@ -3592,61 +3673,65 @@ scroll-view.cu-steps .cu-item { } .text-red, .line-red, .lines-red { - color: #e54d42; + color: var(--red); } .text-orange, .line-orange, .lines-orange { - color: #f37b1d; + color: var(--orange); } .text-yellow, .line-yellow, .lines-yellow { - color: #fbbd08; + color: var(--yellow); } .text-olive, .line-olive, .lines-olive { - color: #8dc63f; + color: var(--olive); } .text-green, .line-green, .lines-green { - color: #39b54a; + color: var(--green); } .text-cyan, .line-cyan, .lines-cyan { - color: #1cbbb4; + color: var(--cyan); } .text-blue, .line-blue, .lines-blue { - color: #0081ff; + color: var(--blue); } .text-purple, .line-purple, .lines-purple { - color: #6739b6; + color: var(--purple); } .text-mauve, .line-mauve, .lines-mauve { - color: #9c26b0; + color: var(--mauve); } .text-pink, .line-pink, .lines-pink { - color: #e03997; + color: var(--pink); } .text-brown, .line-brown, .lines-brown { - color: #a5673f; + color: var(--brown); } .text-grey, .line-grey, .lines-grey { - color: #8799a3; + color: var(--grey); } .text-gray, .line-gray, .lines-gray { - color: #aaa; + color: var(--grey); } .text-black, .line-black, .lines-black { - color: #333; + color: var(--black); } .text-white, .line-white, .lines-white { color: #fff; } + +.text-shadow { + text-shadow: 2rpx 4rpx 6rpx rgba(0, 0, 0, 0.4); +} diff --git a/template/pages/index/index.wxml b/template/pages/index/index.wxml index daf23b1..b062c3e 100644 --- a/template/pages/index/index.wxml +++ b/template/pages/index/index.wxml @@ -1,8 +1,6 @@ - - - ColorUI 空白模板 - - + + ColorUI 空白模板 + @@ -14,7 +12,6 @@
- {{motto}} \ No newline at end of file