├── .project
├── README.md
├── environment.yaml
├── fekit.config
├── images
├── ajax-loader.gif
├── arrow.png
├── iconfonts
│ ├── footer.ttf
│ ├── footer.woff
│ ├── iconfont.ttf
│ ├── iconfont.woff
│ ├── navmore.ttf
│ └── navmore.woff
├── img1.jpg
├── img10.jpg
├── img11.jpg
├── img12.jpg
├── img13.jpg
├── img14.jpg
├── img15.jpg
├── img16.jpg
├── img17.jpg
├── img18.jpg
├── img19.jpg
├── img2.jpg
├── img3.jpg
├── img4.jpg
├── img5.jpg
├── img6.jpg
├── img7.jpg
├── img8.jpg
├── img9.jpg
├── swiper1.jpg
├── swiper2.jpg
├── swiper3.jpg
├── swiper4.jpg
├── swiper5.jpg
└── swiper6.jpg
├── index.html
├── mock
├── home.json
└── mock.js
└── src
├── scripts
├── app.js
├── lib
│ ├── spa.min.js
│ ├── swiper-3.3.1.min.js
│ └── swiper.animate1.0.2.min.js
├── tpl
│ ├── home.string
│ ├── index.string
│ ├── message.string
│ ├── my.string
│ └── nav.string
└── views
│ ├── home.js
│ ├── index.js
│ ├── message.js
│ ├── my.js
│ └── nav.js
└── styles
├── lib
├── ani
│ ├── README.md
│ ├── classes.scss
│ ├── elastic-in-down.scss
│ ├── elastic-in-left.scss
│ ├── elastic-in-right.scss
│ ├── elastic-in-up.scss
│ ├── elastic-in.scss
│ ├── elastic-out-down.scss
│ ├── elastic-out-left.scss
│ ├── elastic-out-right.scss
│ ├── elastic-out-up.scss
│ ├── elastic-out.scss
│ ├── elastic-x.scss
│ ├── elastic-y.scss
│ ├── extrusion.scss
│ ├── fade-in-down.scss
│ ├── fade-in-left.scss
│ ├── fade-in-right.scss
│ ├── fade-in-up.scss
│ ├── fade-in.scss
│ ├── fade-out-down.scss
│ ├── fade-out-left.scss
│ ├── fade-out-right.scss
│ ├── fade-out-up.scss
│ ├── fade-out.scss
│ ├── flash.scss
│ ├── flip-in-x.scss
│ ├── flip-in-y.scss
│ ├── flip-out-x.scss
│ ├── flip-out-y.scss
│ ├── flip.scss
│ ├── hinge.scss
│ ├── pulse.scss
│ ├── roll-in-left.scss
│ ├── roll-in-right.scss
│ ├── roll-out-left.scss
│ ├── roll-out-right.scss
│ ├── rotate-in-down-left.scss
│ ├── rotate-in-down-right.scss
│ ├── rotate-in-up-left.scss
│ ├── rotate-in-up-right.scss
│ ├── rotate-in.scss
│ ├── rotate-out-down-left.scss
│ ├── rotate-out-down-right.scss
│ ├── rotate-out-up-left.scss
│ ├── rotate-out-up-right.scss
│ ├── rotate-out.scss
│ ├── rotate.scss
│ ├── shake.scss
│ ├── sling.scss
│ ├── speed-in-left.scss
│ ├── speed-in-right.scss
│ ├── speed-out-left.scss
│ ├── speed-out-right.scss
│ ├── stretch.scss
│ ├── swing.scss
│ ├── wobble.scss
│ ├── zoom-in-down.scss
│ ├── zoom-in-left.scss
│ ├── zoom-in-right.scss
│ ├── zoom-in-up.scss
│ ├── zoom-in.scss
│ ├── zoom-out-down.scss
│ ├── zoom-out-left.scss
│ ├── zoom-out-right.scss
│ ├── zoom-out-up.scss
│ └── zoom-out.scss
├── core
│ ├── classes.scss
│ ├── reset.scss
│ └── variables.scss
├── element
│ ├── classes.scss
│ ├── yo-badge.scss
│ ├── yo-btn.scss
│ ├── yo-checked.scss
│ ├── yo-input.scss
│ ├── yo-loading.scss
│ ├── yo-loadtip.scss
│ ├── yo-range.scss
│ └── yo-score.scss
├── fragment
│ ├── classes.scss
│ ├── yo-btnbar.scss
│ ├── yo-header.scss
│ ├── yo-list.scss
│ └── yo-table.scss
├── layout
│ ├── classes.scss
│ ├── yo-align.scss
│ ├── yo-flex.scss
│ └── yo-stacked.scss
└── widget
│ ├── classes.scss
│ ├── yo-datepicker.scss
│ ├── yo-dblist.scss
│ ├── yo-dialog.scss
│ ├── yo-group.scss
│ ├── yo-index.scss
│ ├── yo-mask.scss
│ ├── yo-number.scss
│ ├── yo-panel.scss
│ ├── yo-popup.scss
│ ├── yo-rating.scss
│ ├── yo-select.scss
│ ├── yo-slidermenu.scss
│ ├── yo-suggest.scss
│ ├── yo-switch.scss
│ ├── yo-switchable.scss
│ ├── yo-tab.scss
│ └── yo-tip.scss
└── usage
├── app.scss
├── core
├── animate.min.css
├── common.scss
├── config.scss
├── reset.scss
└── swiper-3.3.1.min.css
├── layout
└── layout.scss
└── modules
├── home.scss
├── index.scss
└── nav.scss
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | mywebapp
4 |
5 |
6 |
7 |
8 |
9 | com.aptana.ide.core.unifiedBuilder
10 |
11 |
12 |
13 |
14 |
15 | com.aptana.projects.webnature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/README.md
--------------------------------------------------------------------------------
/environment.yaml:
--------------------------------------------------------------------------------
1 | local:
2 | DEBUG: true
3 |
4 | dev:
5 | DEBUG: true
6 |
7 | beta:
8 | DEBUG: false
9 |
10 | prd:
11 | DEBUG: false
--------------------------------------------------------------------------------
/fekit.config:
--------------------------------------------------------------------------------
1 | {
2 | "compiler": "modular",
3 | "name": "mywebapp",
4 | "version": "0.0.0",
5 | "dependencies": {},
6 | "alias": {},
7 | "export": [
8 | "scripts/app.js",
9 | "styles/usage/app.scss"
10 | ]
11 | }
--------------------------------------------------------------------------------
/images/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/ajax-loader.gif
--------------------------------------------------------------------------------
/images/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/arrow.png
--------------------------------------------------------------------------------
/images/iconfonts/footer.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/footer.ttf
--------------------------------------------------------------------------------
/images/iconfonts/footer.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/footer.woff
--------------------------------------------------------------------------------
/images/iconfonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/iconfont.ttf
--------------------------------------------------------------------------------
/images/iconfonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/iconfont.woff
--------------------------------------------------------------------------------
/images/iconfonts/navmore.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/navmore.ttf
--------------------------------------------------------------------------------
/images/iconfonts/navmore.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/iconfonts/navmore.woff
--------------------------------------------------------------------------------
/images/img1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img1.jpg
--------------------------------------------------------------------------------
/images/img10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img10.jpg
--------------------------------------------------------------------------------
/images/img11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img11.jpg
--------------------------------------------------------------------------------
/images/img12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img12.jpg
--------------------------------------------------------------------------------
/images/img13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img13.jpg
--------------------------------------------------------------------------------
/images/img14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img14.jpg
--------------------------------------------------------------------------------
/images/img15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img15.jpg
--------------------------------------------------------------------------------
/images/img16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img16.jpg
--------------------------------------------------------------------------------
/images/img17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img17.jpg
--------------------------------------------------------------------------------
/images/img18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img18.jpg
--------------------------------------------------------------------------------
/images/img19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img19.jpg
--------------------------------------------------------------------------------
/images/img2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img2.jpg
--------------------------------------------------------------------------------
/images/img3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img3.jpg
--------------------------------------------------------------------------------
/images/img4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img4.jpg
--------------------------------------------------------------------------------
/images/img5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img5.jpg
--------------------------------------------------------------------------------
/images/img6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img6.jpg
--------------------------------------------------------------------------------
/images/img7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img7.jpg
--------------------------------------------------------------------------------
/images/img8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img8.jpg
--------------------------------------------------------------------------------
/images/img9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/img9.jpg
--------------------------------------------------------------------------------
/images/swiper1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper1.jpg
--------------------------------------------------------------------------------
/images/swiper2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper2.jpg
--------------------------------------------------------------------------------
/images/swiper3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper3.jpg
--------------------------------------------------------------------------------
/images/swiper4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper4.jpg
--------------------------------------------------------------------------------
/images/swiper5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper5.jpg
--------------------------------------------------------------------------------
/images/swiper6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkit-zcl/code/dedcfb8679300c8a0ab54e27fa285b131baa3a98/images/swiper6.jpg
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/mock/home.json:
--------------------------------------------------------------------------------
1 | {
2 | "ret": true,
3 | "errCode": 24,
4 | "errMsg": "",
5 | "data": [
6 | {
7 | "img": "/mywebapp/images/img1.jpg",
8 | "title": "重点推荐"
9 | },
10 | {
11 | "img": "/mywebapp/images/img2.jpg",
12 | "title": "区域加盟"
13 | },
14 | {
15 | "img": "/mywebapp/images/img3.jpg",
16 | "title": "时尚凉鞋"
17 | },
18 | {
19 | "img": "/mywebapp/images/img4.jpg",
20 | "title": "粗跟鞋"
21 | },
22 | {
23 | "img": "/mywebapp/images/img5.jpg",
24 | "title": "高跟鞋"
25 | },
26 | {
27 | "img": "/mywebapp/images/img6.jpg",
28 | "title": "平底鞋"
29 | },
30 | {
31 | "img": "/mywebapp/images/img7.jpg",
32 | "title": "鞋与生活"
33 | },
34 | {
35 | "img": "/mywebapp/images/img8.jpg",
36 | "title": "坡跟鞋"
37 | },
38 | {
39 | "img": "/mywebapp/images/img9.jpg",
40 | "title": "防水台"
41 | },
42 | {
43 | "img": "/mywebapp/images/img10.jpg",
44 | "title": "厚底鞋"
45 | },
46 | {
47 | "img": "/mywebapp/images/img11.jpg",
48 | "title": "我的鞋柜"
49 | },
50 | {
51 | "img": "/mywebapp/images/img12.jpg",
52 | "title": "鞋衣搭配"
53 | },
54 | {
55 | "img": "/mywebapp/images/img13.jpg",
56 | "title": "热门款式"
57 | },
58 | {
59 | "img": "/mywebapp/images/img14.jpg",
60 | "title": "终端经营"
61 | },
62 | {
63 | "img": "/mywebapp/images/img15.jpg",
64 | "title": "欧美经典"
65 | },
66 | {
67 | "img": "/mywebapp/images/img16.jpg",
68 | "title": "行业展会"
69 | },
70 | {
71 | "img": "/mywebapp/images/img17.jpg",
72 | "title": "技术交流"
73 | },
74 | {
75 | "img": "/mywebapp/images/img18.jpg",
76 | "title": "时尚生活"
77 | },
78 | {
79 | "img": "/mywebapp/images/img19.jpg",
80 | "title": "轻松一笑"
81 | }
82 | ]
83 | }
84 |
--------------------------------------------------------------------------------
/mock/mock.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | rules: [{
3 | pattern: /\/api\/homeList.php/,
4 | respondwith: './home.json'
5 | }]
6 | };
7 |
--------------------------------------------------------------------------------
/src/scripts/app.js:
--------------------------------------------------------------------------------
1 | require('./lib/spa.min.js');
2 | require('./lib/swiper-3.3.1.min.js');
3 |
4 | // require views
5 | require('./views/index.js');
6 | require('./views/home.js');
7 | require('./views/nav.js');
8 | require('./views/my.js');
9 | require('./views/message.js');
10 |
11 | // 定义默认视图
12 | SPA.config({
13 | indexView: 'home'
14 | });
15 |
16 |
--------------------------------------------------------------------------------
/src/scripts/lib/swiper.animate1.0.2.min.js:
--------------------------------------------------------------------------------
1 | //本插件由www.swiper.com.cn提供
2 | function swiperAnimateCache(){for(allBoxes=window.document.documentElement.querySelectorAll(".ani"),i=0;i
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |

14 |
15 |
16 |

17 |
18 |
19 |

20 |
21 |
22 |

23 |
24 |
25 |

26 |
27 |
28 |

29 |
30 |
31 |
32 |
33 |
34 |
38 |
39 |
40 |
41 |
42 |
43 | |
44 |
45 |
46 |
47 | |
48 |
49 |
50 |
51 | |
52 |
53 |
54 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/src/scripts/tpl/index.string:
--------------------------------------------------------------------------------
1 |
2 |
3 |
26 |
27 |
--------------------------------------------------------------------------------
/src/scripts/tpl/message.string:
--------------------------------------------------------------------------------
1 | message
2 |
--------------------------------------------------------------------------------
/src/scripts/tpl/my.string:
--------------------------------------------------------------------------------
1 | my
2 |
--------------------------------------------------------------------------------
/src/scripts/tpl/nav.string:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/src/scripts/views/home.js:
--------------------------------------------------------------------------------
1 | // 引入模板
2 | var homeTpl = require('../tpl/home.string');
3 |
4 |
5 | //定义一个视图
6 | SPA.defineView('home',{
7 | //将模板放在body里面
8 | html:homeTpl,
9 | plugins:[
10 | 'delegated',
11 | {
12 | name:'avalon',
13 | //新建ajax获取的数组
14 | options:function(vm){
15 | vm.homeList = [];
16 | //定义一个临时公共数组 用来存放第一次加载的数据(和加载更多时的一维数组)
17 | vm.homeTempList = [];
18 | }
19 | }
20 | ],
21 | //给视图定义公共的属性和方法
22 | init:{
23 | //将一维数组转化为二维数组
24 | formatArray:function(arr){
25 | var newArr = [];//定义二维数组
26 | for(var i=0;i`
14 | * @param {Length} $padding 内补白
15 | * @param {Length} $border-width 边框厚度
16 | * @param {Color} $bordercolor 边框色
17 | * @param {Color} $bgcolor 背景色
18 | * @param {Color} $color 文本色
19 | * @param {Length} $radius 圆角半径长度
20 | * @param {Length} $font-size 字号大小
21 | */
22 |
23 | @mixin yo-badge(
24 | $name: default,
25 | $padding: default,
26 | $border-width: default,
27 | $bordercolor: default,
28 | $bgcolor: default,
29 | $color: default,
30 | $radius: default,
31 | $font-size: default) {
32 | // 区别是否新增实例还是修改本身
33 | @if $name == default {
34 | $name: "";
35 | } @else {
36 | $name: "-#{$name}";
37 | }
38 | // 如果值为default,则取config的定义
39 | @if $padding == default {
40 | $padding: map-get($badge, padding);
41 | }
42 | @if $border-width == default {
43 | $border-width: map-get($badge, border-width);
44 | }
45 | @if $bordercolor == default {
46 | $bordercolor: map-get($badge, bordercolor);
47 | }
48 | @if $bgcolor == default {
49 | $bgcolor: map-get($badge, bgcolor);
50 | }
51 | @if $color == default {
52 | $color: map-get($badge, color);
53 | }
54 | @if $radius == default {
55 | $radius: map-get($badge, radius);
56 | }
57 | @if $font-size == default {
58 | $font-size: map-get($badge, font-size);
59 | }
60 | .yo-badge#{$name} {
61 | // 如果$padding不等于config设定,则重绘内补白
62 | @if $padding != map-get($badge, padding) {
63 | padding: $padding;
64 | }
65 | // 如果$border-width不等于config设定,则重绘边框相关
66 | @if $border-width != map-get($badge, border-width) {
67 | // 如果$border-width为null,重设置为0
68 | @if $border-width == null {
69 | $border-width: 0;
70 | }
71 | border-width: $border-width;
72 | // 如果$bordercolor不等于config设定,则重绘边框色
73 | @if $bordercolor != map-get($badge, bordercolor) {
74 | @if $border-width != 0 {
75 | border-color: $bordercolor;
76 | }
77 | } @else {
78 | // 如果config的边框厚度定义为null或者0,在扩展时,加上边框色
79 | @if map-get($badge, border-width) == null or
80 | map-get($badge, border-width) == 0 {
81 | border-color: map-get($badge, bordercolor);
82 | }
83 | }
84 | // 如果config的边框厚度定义为null或者0,在扩展时,加上border-style
85 | @if map-get($badge, border-width) == null or
86 | map-get($badge, border-width) == 0 {
87 | border-style: solid;
88 | }
89 | } @else {
90 | // 如果扩展的边框厚度大于0且边框色和config边框色不同,在扩展时,重绘边框色
91 | @if $border-width != null and
92 | $border-width != 0 and
93 | $bordercolor != map-get($badge, bordercolor) {
94 | border-color: $bordercolor;
95 | }
96 | }
97 | // 如果$bgcolor不等于config设定,则重绘背景色
98 | @if $bgcolor != map-get($badge, bgcolor) {
99 | background-color: $bgcolor;
100 | }
101 | // 如果$color不等于config设定,则重绘文本色
102 | @if $color != map-get($badge, color) {
103 | color: $color;
104 | }
105 | // 如果$radius不等于config设定,则重绘圆角
106 | @if $radius != map-get($badge, radius) {
107 | // 构造里已处理过边框+圆角+背景溢出的问题,所以这里写原生即可
108 | border-radius: $radius;
109 | }
110 | // 如果$font-size不等于config设定,则重绘字号
111 | @if $font-size != map-get($badge, font-size) {
112 | font-size: $font-size;
113 | // 如果$font-size不等于config设定,并且不等于null,且大于.14rem时,重绘行高
114 | @if $font-size != null and
115 | $font-size > .14rem {
116 | line-height: $font-size;
117 | }
118 | }
119 | // 增量扩展
120 | @content;
121 | }
122 | }
123 |
124 | // 调用本文件时载入气泡基础构造
125 | .yo-badge {
126 | @include _badge;
127 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-btn.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class element
6 | */
7 |
8 | /**
9 | * 构造按钮的自定义使用方法,可轻松自定义边框,尺寸,背景,文字等
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-btn.html)
12 | * @method yo-btn
13 | * @param {String} $name 为新的按钮扩展定义一个名称
14 | * @param {Length} $border-width 按钮边框厚度
15 | * @param {Color} $bordercolor 按钮边框色
16 | * @param {Color} $bgcolor 按钮背景色
17 | * @param {Color} $color 按钮文本色
18 | * @param {Color} $active-bordercolor 触点(鼠标,手指或其它)按下时的按钮边框色
19 | * @param {Color} $active-bgcolor 触点(鼠标,手指或其它)按下的按钮背景色
20 | * @param {Color} $active-color 触点(鼠标,手指或其它)按下的按钮文本色
21 | * @param {Length} $padding 按钮内补白
22 | * @param {Length} $radius 按钮圆角半径长度
23 | * @param {Length} $font-size 按钮字号大小
24 | * @param {Length} $width 按钮宽度
25 | * @param {Length} $height 按钮高度
26 | */
27 |
28 | @mixin yo-btn(
29 | $name: default,
30 | $border-width: default,
31 | $bordercolor: default,
32 | $bgcolor: default,
33 | $color: default,
34 | $active-bordercolor: default,
35 | $active-bgcolor: default,
36 | $active-color: default,
37 | $padding: default,
38 | $radius: default,
39 | $font-size: default,
40 | $width: default,
41 | $height: default) {
42 | // 区别是否新增实例还是修改本身
43 | @if $name == default {
44 | $name: "";
45 | } @else {
46 | $name: "-#{$name}";
47 | }
48 | // 如果值为default,则取config的定义
49 | @if $border-width == default {
50 | $border-width: map-get($btn, border-width);
51 | }
52 | @if $bordercolor == default {
53 | $bordercolor: map-get($btn, bordercolor);
54 | }
55 | @if $bgcolor == default {
56 | $bgcolor: map-get($btn, bgcolor);
57 | }
58 | @if $color == default {
59 | $color: map-get($btn, color);
60 | }
61 | @if $active-bordercolor == default {
62 | $active-bordercolor: map-get($btn, active-bordercolor);
63 | }
64 | @if $active-bgcolor == default {
65 | $active-bgcolor: map-get($btn, active-bgcolor);
66 | }
67 | @if $active-color == default {
68 | $active-color: map-get($btn, active-color);
69 | }
70 | @if $padding == default {
71 | $padding: map-get($btn, padding);
72 | }
73 | @if $radius == default {
74 | $radius: map-get($btn, radius);
75 | }
76 | @if $font-size == default {
77 | $font-size: map-get($btn, font-size);
78 | }
79 | @if $width == default {
80 | $width: map-get($btn, width);
81 | }
82 | @if $height == default {
83 | $height: map-get($btn, height);
84 | }
85 | .yo-btn#{$name} {
86 | // 如果$width不等于default,则重绘宽度
87 | @if $width != default {
88 | width: $width;
89 | }
90 | // 如果$height不等于default,则重绘高度和行高
91 | @if $height != default {
92 | height: $height;
93 | line-height: $height;
94 | }
95 | // 如果$padding不等于config设定,则重绘内补白
96 | @if $padding != map-get($btn, padding) {
97 | padding: $padding;
98 | }
99 | // 如果$radius不等于config设定,则重绘圆角
100 | @if $radius != map-get($btn, radius) {
101 | // 构造里已处理过边框+圆角+背景溢出的问题,所以这里写原生即可
102 | border-radius: $radius;
103 | }
104 | // 如果$border-width不等于config设定,则重绘边框相关
105 | @if $border-width != map-get($btn, border-width) {
106 | // 如果$border-width为null,重设置为0
107 | @if $border-width == null {
108 | $border-width: 0;
109 | }
110 | border-width: $border-width;
111 | // 如果$bordercolor不等于config设定,则重绘边框色
112 | @if $bordercolor != map-get($btn, bordercolor) {
113 | @if $border-width != 0 {
114 | border-color: $bordercolor;
115 | }
116 | } @else {
117 | // 如果config的边框厚度定义为null或者0,在扩展时,加上边框色
118 | @if map-get($btn, border-width) == null or
119 | map-get($btn, border-width) == 0 {
120 | border-color: map-get($btn, bordercolor);
121 | }
122 | }
123 | // 如果config的边框厚度定义为null或者0,在扩展时,加上border-style
124 | @if map-get($btn, border-width) == null or
125 | map-get($btn, border-width) == 0 {
126 | border-style: solid;
127 | }
128 | } @else {
129 | // 如果扩展的边框厚度大于0且边框色和config边框色不同,在扩展时,重绘边框色
130 | @if $border-width != null and
131 | $border-width != 0 and
132 | $bordercolor != map-get($btn, bordercolor) {
133 | border-color: $bordercolor;
134 | }
135 | }
136 | // 如果$bgcolor不等于config设定,则重绘背景色
137 | @if $bgcolor != map-get($btn, bgcolor) {
138 | background-color: $bgcolor;
139 | }
140 | // 如果$color不等于config设定,则重绘文本色
141 | @if $color != map-get($btn, color) {
142 | color: $color;
143 | }
144 | // 如果$font-size不等于config设定,则重绘文本字号
145 | @if $font-size != map-get($btn, font-size) {
146 | font-size: $font-size;
147 | }
148 | &:active {
149 | @if $active-bordercolor != map-get($btn, active-bordercolor) {
150 | border-color: $active-bordercolor;
151 | }
152 | @if $active-bgcolor != map-get($btn, active-bgcolor) {
153 | background-color: $active-bgcolor;
154 | }
155 | @if $active-color != map-get($btn, active-color) {
156 | color: $active-color;
157 | }
158 | }
159 | // 增量扩展
160 | @content;
161 | }
162 | }
163 |
164 | // 调用本文件时载入按钮基础构造
165 | .yo-btn {
166 | @include _btn;
167 | // 默认载入按钮的三种尺寸:s, m, l
168 | &-s {
169 | height: map-get($btn, s-height);
170 | line-height: map-get($btn, s-height);
171 | font-size: map-get($btn, s-font-size);
172 | }
173 | &-m {
174 | height: map-get($btn, m-height);
175 | line-height: map-get($btn, m-height);
176 | font-size: map-get($btn, m-font-size);
177 | }
178 | &-l {
179 | height: map-get($btn, l-height);
180 | line-height: map-get($btn, l-height);
181 | font-size: map-get($btn, l-font-size);
182 | }
183 | // 通栏按钮
184 | &-stacked {
185 | display: block;
186 | width: 100%;
187 | }
188 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-checked.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class element
6 | */
7 |
8 | /**
9 | * 构造单选多选的自定义使用方法,可同时作用于 checkbox 与 radio
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-checked.html)
12 | * @method yo-checked
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {String} $content 标记(对勾,圆点或者任意字符,可以是webfonts的编码)
15 | * @param {Length} $size 元件大小
16 | * @param {Length} $font-size 标记大小
17 | * @param {Length} $border-width 边框厚度
18 | * @param {Color} $bordercolor 边框色
19 | * @param {Color} $bgcolor 背景色
20 | * @param {Color} $color 标记色
21 | * @param {Color} $on-bordercolor 选中时的边框色
22 | * @param {Color} $on-bgcolor 选中时的背景色
23 | * @param {Color} $on-color 选中时的标记色
24 | * @param {Length} $radius 圆角半径长度
25 | */
26 |
27 | @mixin yo-checked(
28 | $name: default,
29 | $content: default,
30 | $size: default,
31 | $font-size: default,
32 | $border-width: default,
33 | $bordercolor: default,
34 | $bgcolor: default,
35 | $color: default,
36 | $on-bordercolor: default,
37 | $on-bgcolor: default,
38 | $on-color: default,
39 | $radius: default) {
40 | // 区别是否新增实例还是修改本身
41 | @if $name == default {
42 | $name: "";
43 | } @else {
44 | $name: "-#{$name}";
45 | }
46 | // 如果值为default,则取config的定义
47 | @if $content == default {
48 | $content: map-get($checked, content);
49 | }
50 | @if $size == default {
51 | $size: map-get($checked, size);
52 | }
53 | @if $font-size == default {
54 | $font-size: map-get($checked, font-size);
55 | }
56 | @if $border-width == default {
57 | $border-width: map-get($checked, border-width);
58 | }
59 | @if $bordercolor == default {
60 | $bordercolor: map-get($checked, bordercolor);
61 | }
62 | @if $bgcolor == default {
63 | $bgcolor: map-get($checked, bgcolor);
64 | }
65 | @if $color == default {
66 | $color: map-get($checked, color);
67 | }
68 | @if $on-bordercolor == default {
69 | $on-bordercolor: map-get($checked, on-bordercolor);
70 | }
71 | @if $on-bgcolor == default {
72 | $on-bgcolor: map-get($checked, on-bgcolor);
73 | }
74 | @if $on-color == default {
75 | $on-color: map-get($checked, on-color);
76 | }
77 | @if $radius == default {
78 | $radius: map-get($checked, radius);
79 | }
80 | .yo-checked#{$name} {
81 | @if $size != map-get($checked, size) {
82 | @include square($size);
83 | }
84 | @if $font-size != map-get($checked, font-size) {
85 | font-size: $font-size;
86 | }
87 | > .type {
88 | @if $radius != map-get($checked, radius) {
89 | // 构造里已处理过边框+圆角+背景溢出的问题,所以这里写原生即可
90 | border-radius: $radius;
91 | }
92 | // 如果$border-width不等于config设定,则重绘边框相关
93 | @if $border-width != map-get($checked, border-width) {
94 | // 如果$border-width为null,重设置为0
95 | @if $border-width == null {
96 | $border-width: 0;
97 | }
98 | border-width: $border-width;
99 | // 如果$bordercolor不等于config设定,则重绘边框色
100 | @if $bordercolor != map-get($checked, bordercolor) {
101 | @if $border-width != 0 {
102 | border-color: $bordercolor;
103 | }
104 | } @else {
105 | // 如果config的边框厚度定义为null或者0,在扩展时,加上边框色
106 | @if map-get($checked, border-width) == null or
107 | map-get($checked, border-width) == 0 {
108 | border-color: map-get($checked, bordercolor);
109 | }
110 | }
111 | // 如果config的边框厚度定义为null或者0,在扩展时,加上border-style
112 | @if map-get($checked, border-width) == null or
113 | map-get($checked, border-width) == 0 {
114 | border-style: solid;
115 | }
116 | line-height: $size - nth($border-width, 1) * 2;
117 | } @else {
118 | // 如果扩展的边框厚度大于0且边框色和config边框色不同,在扩展时,重绘边框色
119 | @if $border-width != null and
120 | $border-width != 0 and
121 | $bordercolor != map-get($checked, bordercolor) {
122 | border-color: $bordercolor;
123 | }
124 | }
125 | @if $bgcolor != map-get($checked, bgcolor) {
126 | background-color: $bgcolor;
127 | }
128 | &::after {
129 | @if $content != map-get($checked, content) {
130 | content: $content;
131 | }
132 | @if $color != map-get($checked, color) {
133 | color: $color;
134 | }
135 | }
136 | }
137 | > input:checked + .type {
138 | // 如果$border-width不等于config设定,则重绘边框相关
139 | @if $border-width != map-get($checked, border-width) {
140 | // 如果$border-width为null,重设置为0
141 | @if $border-width == null {
142 | $border-width: 0;
143 | }
144 | // 如果$on-bordercolor不等于config设定,则重绘边框色
145 | @if $on-bordercolor != map-get($checked, on-bordercolor) {
146 | @if $border-width != 0 {
147 | border-color: $on-bordercolor;
148 | }
149 | } @else {
150 | // 如果config的边框厚度定义为null或者0,在扩展时,加上边框色
151 | @if map-get($checked, border-width) == null or
152 | map-get($checked, border-width) == 0 {
153 | border-color: map-get($checked, on-bordercolor);
154 | }
155 | }
156 | } @else {
157 | // 如果扩展的边框厚度大于0且边框色和config边框色不同,在扩展时,重绘边框色
158 | @if $border-width != null and
159 | $border-width != 0 and
160 | $on-bordercolor != map-get($checked, on-bordercolor) {
161 | border-color: $on-bordercolor;
162 | }
163 | }
164 | @if $on-bgcolor != map-get($checked, on-bgcolor) {
165 | background-color: $on-bgcolor;
166 | }
167 | &::after {
168 | @if $on-color != map-get($checked, on-color) {
169 | color: $on-color;
170 | }
171 | }
172 | }
173 | // 增量扩展
174 | @content;
175 | }
176 | }
177 |
178 | // 调用本文件时载入checked基础构造
179 | .yo-checked {
180 | @include _checked;
181 | }
182 |
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-input.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class element
6 | */
7 |
8 | /**
9 | * 构造输入框的自定义使用方法,可同时作用于 input 与 textarea
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-input.html)
12 | * @method yo-input
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {Length} $width 宽度
15 | * @param {Length} $height 高度
16 | * @param {Length} $padding 内补白
17 | * @param {Length} $radius 圆角半径长度
18 | * @param {Color} $bordercolor 边框色
19 | * @param {Color} $bgcolor 背景色
20 | * @param {Color} $color 文本色
21 | * @param {Color} $placeholder-color placeholder文本色
22 | */
23 |
24 | @mixin yo-input(
25 | $name: default,
26 | $width: default,
27 | $height: default,
28 | $padding: default,
29 | $radius: default,
30 | $bordercolor: default,
31 | $bgcolor: default,
32 | $color: default,
33 | $placeholder-color: default) {
34 | // 区别是否新增实例还是修改本身
35 | @if $name == default {
36 | $name: "";
37 | } @else {
38 | $name: "-#{$name}";
39 | }
40 | // 如果值为default,则取config的定义
41 | @if $width == default {
42 | $width: map-get($input, width);
43 | }
44 | @if $height == default {
45 | $height: map-get($input, height);
46 | }
47 | @if $padding == default {
48 | $padding: map-get($input, padding);
49 | }
50 | @if $radius == default {
51 | $radius: map-get($input, radius);
52 | }
53 | @if $bordercolor == default {
54 | $bordercolor: map-get($input, bordercolor);
55 | }
56 | @if $bgcolor == default {
57 | $bgcolor: map-get($input, bgcolor);
58 | }
59 | @if $color == default {
60 | $color: map-get($input, color);
61 | }
62 | @if $placeholder-color == default {
63 | $placeholder-color: map-get($input, placeholder-color);
64 | }
65 | .yo-input#{$name} {
66 | @if $width != map-get($input, width) {
67 | width: $width;
68 | }
69 | @if $height != map-get($input, height) {
70 | height: $height;
71 | }
72 | @if $padding != map-get($input, padding) {
73 | padding: $padding;
74 | }
75 | @if $radius != map-get($input, radius) {
76 | // 构造里已处理过边框+圆角+背景溢出的问题,所以这里写原生即可
77 | border-radius: $radius;
78 | }
79 | @if $bordercolor != map-get($input, bordercolor) {
80 | border-color: $bordercolor;
81 | }
82 | @if $bgcolor != map-get($input, bgcolor) {
83 | background-color: $bgcolor;
84 | }
85 | @if $color != map-get($input, color) {
86 | color: $color;
87 | }
88 | &::-webkit-input-placeholder {
89 | @if $placeholder-color != map-get($input, placeholder-color) {
90 | color: $placeholder-color;
91 | }
92 | }
93 | // 增量扩展
94 | @content;
95 | }
96 | }
97 |
98 | // 调用本文件时载入按钮基础构造
99 | .yo-input {
100 | @include _input;
101 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-loading.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 | @import "../ani/rotate";
4 |
5 | /**
6 | * @class element
7 | */
8 |
9 | /**
10 | * 构造加载中的自定义使用方法
11 | -----------------------
12 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-loading.html)
13 | * @method yo-loading
14 | * @param {String} $name 为新的扩展定义一个名称
15 | * @param {Length} $ico-size loading的尺寸
16 | * @param {Color} $ico-color loading的颜色
17 | * @param {Color} $bgcolor 背景色
18 | * @param {Color} $mask-bgcolor 遮罩背景色
19 | * @param {Length} $font-size 文本字号
20 | * @param {Color} $color 文本颜色
21 | * @param {String} $content loading形态
22 | */
23 |
24 | @mixin yo-loading(
25 | $name: default,
26 | $ico-size: default,
27 | $ico-color: default,
28 | $bgcolor: default,
29 | $mask-bgcolor: default,
30 | $font-size: default,
31 | $color: default,
32 | $content: default) {
33 | // 区别是否新增实例还是修改本身
34 | @if $name == default {
35 | $name: "";
36 | } @else {
37 | $name: "-#{$name}";
38 | }
39 | // 如果值为default,则取config的定义
40 | @if $ico-size == default {
41 | $ico-size: map-get($loading, ico-size);
42 | }
43 | @if $ico-color == default {
44 | $ico-color: map-get($loading, ico-color);
45 | }
46 | @if $bgcolor == default {
47 | $bgcolor: map-get($loading, bgcolor);
48 | }
49 | @if $mask-bgcolor == default {
50 | $mask-bgcolor: map-get($loading, mask-bgcolor);
51 | }
52 | @if $font-size == default {
53 | $font-size: map-get($loading, font-size);
54 | }
55 | @if $color == default {
56 | $color: map-get($loading, color);
57 | }
58 | @if $content == default {
59 | $content: map-get($loading, content);
60 | }
61 | .yo-loading#{$name} {
62 | // 如果$bgcolor不等于config预设值时,则重写遮罩背景色
63 | @if $mask-bgcolor != map-get($loading, mask-bgcolor) {
64 | background-color: $mask-bgcolor;
65 | }
66 | > .inner {
67 | @if $bgcolor != map-get($loading, bgcolor) {
68 | background-color: $bgcolor;
69 | }
70 | @if $color != map-get($loading, color) {
71 | color: $color;
72 | }
73 | @if $font-size != map-get($loading, font-size) {
74 | font-size: $font-size;
75 | }
76 | > .yo-ico {
77 | &::before {
78 | @if $content != map-get($loading, content) {
79 | content: $content;
80 | }
81 | @if $ico-color != map-get($loading, ico-color) {
82 | color: $ico-color;
83 | }
84 | @if $ico-size != map-get($loading, ico-size) {
85 | font-size: $ico-size;
86 | }
87 | }
88 | }
89 | }
90 | // 增量扩展
91 | @content;
92 | }
93 | }
94 |
95 | // 调用本文件时载入loading基础构造
96 | .yo-loading {
97 | @include _loading;
98 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-loadtip.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 | @import "../ani/rotate";
4 |
5 | /**
6 | * @class element
7 | */
8 |
9 | /**
10 | * 构造加载提示的自定义使用方法
11 | -----------------------
12 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-loadtip.html)
13 | * @method yo-loadtip
14 | * @param {String} $name 为新的扩展定义一个名称
15 | * @param {Color} $color 文本色
16 | * @param {Length} $font-size 字号大小
17 | * @param {Color} $ico-color ico颜色
18 | */
19 |
20 | @mixin yo-loadtip(
21 | $name: default,
22 | $color: default,
23 | $font-size: default,
24 | $ico-color: default) {
25 | // 区别是否新增实例还是修改本身
26 | @if $name == default {
27 | $name: "";
28 | } @else {
29 | $name: "-#{$name}";
30 | }
31 | // 如果值为default,则取config的定义
32 | @if $color == default {
33 | $color: map-get($loadtip, color);
34 | }
35 | @if $font-size == default {
36 | $font-size: map-get($loadtip, font-size);
37 | }
38 | @if $ico-color == default {
39 | $ico-color: map-get($loadtip, ico-color);
40 | }
41 |
42 | .yo-loadtip#{$name} {
43 | // 如果$color不等于config设定,则重绘文本色
44 | @if $color != map-get($loadtip, color) {
45 | color: $color;
46 | }
47 | // 如果$font-size不等于config设定,则重绘字号
48 | @if $font-size != map-get($loadtip, font-size) {
49 | font-size: $font-size;
50 | }
51 | > .yo-ico {
52 | // 如果$ico-color不等于config设定,则重绘ico颜色
53 | @if $ico-color != map-get($loadtip, ico-color) {
54 | color: $ico-color;
55 | }
56 | }
57 | // 增量扩展
58 | @content;
59 | }
60 | }
61 |
62 | // 调用本文件时载入气泡基础构造
63 | .yo-loadtip {
64 | @include _loadtip;
65 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-range.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class element
6 | */
7 |
8 | /**
9 | * 构造区间选择的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-range.html)
12 | * @method yo-range
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {Color} $inner-bgcolor 已选择区域滑条色
15 | * @param {Color} $outer-bgcolor 未选择区域滑条色
16 | * @param {Color} $ball-color 滑块色
17 | */
18 |
19 | @mixin yo-range(
20 | $name: default,
21 | $inner-bgcolor: default,
22 | $outer-bgcolor: default,
23 | $ball-color: default) {
24 | // 区别是否新增实例还是修改本身
25 | @if $name == default {
26 | $name: "";
27 | } @else {
28 | $name: "-#{$name}";
29 | }
30 | // 如果值为default,则取config的定义
31 | @if $inner-bgcolor == default {
32 | $inner-bgcolor: map-get($range, inner-bgcolor);
33 | }
34 | @if $outer-bgcolor == default {
35 | $outer-bgcolor: map-get($range, outer-bgcolor);
36 | }
37 | @if $ball-color == default {
38 | $ball-color: map-get($range, ball-color);
39 | }
40 | .yo-range#{$name} {
41 | > input[type="range"] {
42 | @if $outer-bgcolor != map-get($range, outer-bgcolor) {
43 | background-image: -webkit-linear-gradient(to right, $outer-bgcolor 0%, $outer-bgcolor 100%);
44 | background-image: linear-gradient(to right, $outer-bgcolor 0%, $outer-bgcolor 100%);
45 | }
46 | &::-webkit-slider-thumb {
47 | @if $ball-color != map-get($range, ball-color) {
48 | background-color: $ball-color;
49 | }
50 | &::before {
51 | @if $inner-bgcolor != map-get($range, inner-bgcolor) {
52 | background: $inner-bgcolor;
53 | }
54 | }
55 | }
56 | }
57 | // 增量扩展
58 | @content;
59 | }
60 | }
61 |
62 | // 调用本文件时载入按钮基础构造
63 | .yo-range {
64 | @include _range;
65 | }
--------------------------------------------------------------------------------
/src/styles/lib/element/yo-score.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class element
6 | */
7 |
8 | /**
9 | * 构造评分展示的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/element/yo-score.html)
12 | * @method yo-score
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {Length} $item-width 单项宽度
15 | * @param {Length} $item-height 单项高度
16 | * @param {String} $url 背景图片url
17 | */
18 |
19 | @mixin yo-score(
20 | $name: default,
21 | $item-width: default,
22 | $item-height: default,
23 | $url: default) {
24 | // 区别是否新增实例还是修改本身
25 | @if $name == default {
26 | $name: "";
27 | } @else {
28 | $name: "-#{$name}";
29 | }
30 | // 如果值为default,则取config的定义
31 | @if $item-width == default {
32 | $item-width: map-get($score, item-width);
33 | }
34 | @if $item-height == default {
35 | $item-height: map-get($score, item-height);
36 | }
37 | @if $url == default {
38 | $url: map-get($score, url);
39 | }
40 | .yo-score#{$name} {
41 | @if $item-width != map-get($score, item-width) {
42 | width: $item-width * 5;
43 | }
44 | @if $item-height != map-get($score, item-height) {
45 | height: $item-height;
46 | }
47 | &,
48 | > .index {
49 | @if $url != map-get($score, url) {
50 | background-image: url(#{map-get($setting, bgimg-domain)}#{$url});
51 | }
52 | @if $item-height != map-get($score, item-height) {
53 | background-size: auto $item-height * 2;
54 | }
55 | }
56 | > .index {
57 | @if $item-height != map-get($score, item-height) {
58 | background-position: 0 -#{$item-height};
59 | }
60 | }
61 | // 增量扩展
62 | @content;
63 | }
64 | }
65 |
66 | // 调用本文件时载入score基础构造
67 | .yo-score {
68 | @include _score;
69 | }
--------------------------------------------------------------------------------
/src/styles/lib/fragment/classes.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "../core/variables";
3 | @import "../core/classes";
4 | /**
5 | * Yo框架fragment基础构造
6 | -----------------------
7 | * Yo内置了包括:dialog, popup, tip, tab, switch, rating等基础组件
8 | *
9 | * @class fragment
10 | * @module Yo
11 | */
12 |
13 | // 定义list的基础构造
14 | // 使用方法请查看 yo-list.scss
15 | @mixin _list {
16 | margin: map-get($list, margin);
17 | border-radius: map-get($list, radius);
18 | // 当边框厚度大于0时,才定义边框相关属性
19 | @if map-get($list, border-width) != null and
20 | map-get($list, border-width) != 0 {
21 | border-width: map-get($list, border-width);
22 | border-style: solid;
23 | border-color: map-get($list, bordercolor);
24 | }
25 | > .label,
26 | > .item,
27 | .front {
28 | @include flexbox;
29 | @include align-items;
30 | // 修复某些安卓版本开启了3D,yo-list当成滚动内容时出现的诡异问题
31 | @include transform(translatez(0));
32 | > .mark:not(:last-child),
33 | > .yo-ico:not(:last-child) {
34 | margin-right: .1rem;
35 | }
36 | // 定义需要自适应宽度的列
37 | > .flex {
38 | @include flex;
39 | }
40 | > .mark,
41 | > .yo-ico,
42 | > .col,
43 | > .flex {
44 | display: block;
45 | }
46 | &.tr {
47 | // 当模式为table时,padding将设置到col上
48 | padding: 0;
49 | }
50 | }
51 | > .label {
52 | padding: map-get($list, label-padding);
53 | border: 1px solid map-get($list, label-bordercolor);
54 | border-width: 0 0 1px 0;
55 | background-color: map-get($list, label-bgcolor);
56 | color: map-get($base, sub-color);
57 | font-size: map-get($list, label-font-size);
58 | font-weight: normal;
59 | // 定义单元格的padding
60 | > .col {
61 | padding: map-get($list, label-padding);
62 | }
63 | &:not(:first-child) {
64 | border-width: 1px 0;
65 | margin-top: -1px;
66 | }
67 | }
68 | > .item,
69 | .front {
70 | padding: map-get($list, item-padding);
71 | }
72 | > .item {
73 | background-color: #fff;
74 | color: map-get($base, color);
75 | font-size: map-get($list, item-font-size);
76 |
77 | // 描述线条
78 | @include gradient(linear, map-get($list, item-bordercolor), map-get($list, item-bordercolor));
79 | @include background-size(100% 1px);
80 | background-repeat: no-repeat;
81 | // 设置底边线的位置
82 | background-position: map-get($list, item-border-space) bottom;
83 |
84 | &:last-child {
85 | margin-bottom: -1px;
86 | // 最后一根线的颜色与外边框颜色相同
87 | @include gradient(linear, map-get($list, bordercolor), map-get($list, bordercolor));
88 | // 最后一根线的左边不留间隙
89 | background-position: 0 bottom;
90 | }
91 |
92 | &-stacked {
93 | display: block;
94 | > .mark {
95 | padding-bottom: .05rem;
96 | }
97 | }
98 | &-input {
99 | // 让输入框占满整个父容器
100 | > .yo-input {
101 | height: auto;
102 | padding: 0;
103 | border: 0;
104 | }
105 | }
106 | // 常规需要active的项目,没有使用到第3方组件的
107 | &.item-active:active,
108 | // 为第3方组件提供active状态
109 | &.item-light {
110 | background-color: map-get($list, active-bgcolor);
111 | }
112 | // 选中时背景和文本色
113 | &.item-on {
114 | background-color: map-get($list, on-bgcolor);
115 | color: map-get($list, on-color);
116 | }
117 | // 定义单元格的padding
118 | > .col {
119 | padding: map-get($list, item-padding);
120 | }
121 | }
122 | > .yo-slidermenu {
123 | display: block;
124 | padding: 0 !important;
125 | }
126 | }
127 |
128 | // 定义table的基础构造
129 | // 使用方法请查看 yo-table.scss
130 | @mixin _table {
131 | width: map-get($table, width);
132 | background-color: #fff;
133 | thead {
134 | background-color: map-get($table, thead-bgcolor);
135 | th {
136 | padding: map-get($table, thead-padding);
137 | }
138 | }
139 | td {
140 | padding: map-get($table, tbody-padding);
141 | }
142 | th,
143 | td {
144 | // 判断是够需要垂直边框
145 | @if map-get($table, has-vertical-border) == false {
146 | border-width: 0 0 1px 0;
147 | } @else {
148 | border-width: 1px;
149 | }
150 | border-style: solid;
151 | border-color: map-get($table, bordercolor);
152 | }
153 | tbody {
154 | tr:nth-child(odd) {
155 | background-color: map-get($table, odd-bgcolor);
156 | }
157 | tr:nth-child(even) {
158 | background-color: map-get($table, even-bgcolor);
159 | }
160 | tr:active,
161 | tr.active {
162 | background-color: map-get($table, active-bgcolor);
163 | }
164 | tr.on{
165 | background-color: map-get($table, on-bgcolor);
166 | }
167 | }
168 | }
169 |
170 | // 定义btnbar的基础构造
171 | // 使用方法请查看 yo-btnbar.scss
172 | @mixin _btnbar {
173 | display: inline-block;
174 | vertical-align: middle;
175 | > .yo-btn {
176 | float: left;
177 | &:not(:first-child) {
178 | margin-left: -.01rem !important;
179 | }
180 | &:first-child {
181 | // 如果按钮有圆角,那么去掉第一个按钮的右侧圆角
182 | @if map-get($btn, radius) != 0 {
183 | border-top-right-radius: 0;
184 | border-bottom-right-radius: 0;
185 | }
186 | // 如果工具栏定义了圆角,那么不管按钮有没有左侧圆角,都重绘
187 | @if map-get($btnbar, radius) != auto and map-get($btnbar, radius) != map-get($btn, radius) {
188 | border-top-left-radius: map-get($btnbar, radius);
189 | border-bottom-left-radius: map-get($btnbar, radius);
190 | }
191 | }
192 | &:last-child {
193 | // 如果按钮有圆角,那么去掉最后一个按钮的左侧圆角
194 | @if map-get($btn, radius) != 0 {
195 | border-top-left-radius: 0;
196 | border-bottom-left-radius: 0;
197 | }
198 | // 如果工具栏定义了圆角,那么不管按钮有没有右侧圆角,都重绘
199 | @if map-get($btnbar, radius) != auto and map-get($btnbar, radius) != map-get($btn, radius) {
200 | border-top-right-radius: map-get($btnbar, radius);
201 | border-bottom-right-radius: map-get($btnbar, radius);
202 | }
203 | }
204 | &:not(:first-child):not(:last-child){
205 | // 如果按钮有圆角,那么清除中间所有按钮的圆角
206 | @if map-get($btn, radius) != 0 {
207 | border-radius: 0;
208 | }
209 | }
210 | }
211 | }
212 |
213 | // 定义header的基础构造
214 | // 使用方法请查看 yo-header.scss
215 | @mixin _header {
216 | position: relative;
217 | height: map-get($header, height);
218 | line-height: map-get($header, height);
219 | border-bottom: 1px solid map-get($header, bordercolor);
220 | background-color: map-get($header, bgcolor);
221 | // 如果config预设值不等于base color,则重绘color
222 | @if map-get($header, color) != map-get($base, color) {
223 | color: map-get($header, color);
224 | }
225 | // 如果config预设值不等于base font-size,则重绘font-size
226 | @if map-get($header, font-size) != map-get($base, font-size) {
227 | font-size: map-get($header, font-size);
228 | }
229 | @include ellipsis;
230 | text-align: center;
231 | > .title {
232 | @include ellipsis;
233 | margin: 0 map-get($header, item-width);
234 | }
235 | > .regret,
236 | > .affirm {
237 | position: absolute;
238 | top: 0;
239 | width: map-get($header, item-width);
240 | // 如果config预设值不等于parent color,则重绘子项的color
241 | @if map-get($header, item-color) != map-get($header, color) {
242 | color: map-get($header, item-color);
243 | }
244 | cursor: pointer;
245 | &:active {
246 | opacity: .5;
247 | }
248 | // 如果config预设值不等于parent font-size,则重绘子项的font-size
249 | @if map-get($header, item-font-size) != map-get($header, font-size) {
250 | font-size: map-get($header, item-font-size);
251 | }
252 | &.yo-ico,
253 | > .yo-ico {
254 | color: map-get($header, item-ico-color);
255 | font-size: map-get($header, item-ico-size);
256 | }
257 | }
258 | > .regret {
259 | left: 0;
260 | padding-left: map-get($header, item-space);
261 | text-align: left;
262 | }
263 | > .affirm {
264 | right: 0;
265 | padding-right: map-get($header, item-space);
266 | text-align: right;
267 | }
268 | }
--------------------------------------------------------------------------------
/src/styles/lib/fragment/yo-btnbar.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 | @import "../element/yo-btn";
4 |
5 | /**
6 | * @class fragment
7 | */
8 |
9 | /**
10 | * 构造按钮组的自定义使用方法
11 | -----------------------
12 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/fragment/yo-btnbar.html)
13 | * @method yo-btnbar
14 | * @param {String} $name 为新的扩展定义一个名称
15 | * @param {Length} $radius 圆角半径长度
16 | */
17 |
18 | @mixin yo-btnbar(
19 | $name: default,
20 | $radius: default) {
21 | // 区别是否新增实例还是修改本身
22 | @if $name == default {
23 | $name: "";
24 | } @else {
25 | $name: "-#{$name}";
26 | }
27 | // 如果值为default,则取config的定义
28 | @if $radius == default {
29 | $radius: map-get($btnbar, radius);
30 | }
31 | .yo-btnbar#{$name} {
32 | > .yo-btn {
33 | // 如果工具栏定义了圆角且不等于config定义,则重绘圆角半径
34 | @if $radius != map-get($btnbar, radius) {
35 | &:first-child {
36 | border-top-left-radius: $radius;
37 | border-bottom-left-radius: $radius;
38 | }
39 | &:last-child {
40 | border-top-right-radius: $radius;
41 | border-bottom-right-radius: $radius;
42 | }
43 | }
44 | }
45 | // 增量扩展
46 | @content;
47 | }
48 | }
49 |
50 | // 调用本文件时载入btnbar基础构造
51 | .yo-btnbar {
52 | @include _btnbar;
53 | }
--------------------------------------------------------------------------------
/src/styles/lib/fragment/yo-header.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class fragment
6 | */
7 |
8 | /**
9 | * 构造头的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/fragment/yo-header.html)
12 | * @method yo-header
13 | * @param {String} $name 定义yo-header名称
14 | * @param {Length} $height 定义yo-header高度
15 | * @param {Length} $item-width 定义yo-header两侧子项宽度
16 | * @param {Length} $item-space 定义yo-header两侧子项离边界的间隙
17 | * @param {Color} $bordercolor 定义yo-header边框色
18 | * @param {Color} $bgcolor 定义yo-header背景色
19 | * @param {Color} $color 定义yo-header文本色
20 | * @param {Length} $font-size 定义yo-header文本大小
21 | * @param {Color} $item-color 定义yo-header两侧的子项文本色
22 | * @param {Color} $item-ico-color 定义yo-header两侧的ico色
23 | * @param {Length} $item-font-size 定义yo-header两侧的子项文本大小
24 | * @param {Length} $item-ico-size 定义yo-header两侧的ico大小
25 | */
26 |
27 | @mixin yo-header(
28 | $name: default,
29 | $height: default,
30 | $item-width: default,
31 | $item-space: default,
32 | $bordercolor: default,
33 | $bgcolor: default,
34 | $color: default,
35 | $font-size: default,
36 | $item-color: default,
37 | $item-ico-color: default,
38 | $item-font-size: default,
39 | $item-ico-size: default) {
40 | // 区别是否新增实例还是修改本身
41 | @if $name == default {
42 | $name: "";
43 | } @else {
44 | $name: "-#{$name}";
45 | }
46 | // 如果值为default,则取config的定义
47 | @if $height == default {
48 | $height: map-get($header, height);
49 | }
50 | @if $item-width == default {
51 | $item-width: map-get($header, item-width);
52 | }
53 | @if $item-space == default {
54 | $item-space: map-get($header, item-space);
55 | }
56 | @if $bordercolor == default {
57 | $bordercolor: map-get($header, bordercolor);
58 | }
59 | @if $bgcolor == default {
60 | $bgcolor: map-get($header, bgcolor);
61 | }
62 | @if $color == default {
63 | $color: map-get($header, color);
64 | }
65 | @if $font-size == default {
66 | $font-size: map-get($header, font-size);
67 | }
68 | @if $item-color == default {
69 | $item-color: map-get($header, item-color);
70 | }
71 | @if $item-ico-color == default {
72 | $item-ico-color: map-get($header, item-ico-color);
73 | }
74 | @if $item-font-size == default {
75 | $item-font-size: map-get($header, item-font-size);
76 | }
77 | @if $item-ico-size == default {
78 | $item-ico-size: map-get($header, item-ico-size);
79 | }
80 | .yo-header#{$name} {
81 | @if $height != map-get($header, height) {
82 | height: $height;
83 | line-height: $height;
84 | }
85 | @if $bordercolor != map-get($header, bordercolor) {
86 | border-color: $bordercolor;
87 | }
88 | @if $bgcolor != map-get($header, bgcolor) {
89 | background-color: $bgcolor;
90 | }
91 | @if $color != map-get($header, color) {
92 | color: $color;
93 | }
94 | @if $font-size != map-get($header, font-size) {
95 | font-size: $font-size;
96 | }
97 | > .title {
98 | @if $item-width != map-get($header, item-width) {
99 | margin: 0 $item-width;
100 | }
101 | }
102 | > .regret,
103 | > .affirm {
104 | @if $item-width != map-get($header, item-width) {
105 | width: $item-width;
106 | }
107 | @if $item-color != map-get($header, item-color) {
108 | color: $item-color;
109 | }
110 | @if $item-font-size != map-get($header, item-font-size) {
111 | font-size: $item-font-size;
112 | }
113 | &.yo-ico,
114 | > .yo-ico {
115 | @if $item-ico-color != map-get($header, item-ico-color) {
116 | color: $item-ico-color;
117 | }
118 | @if $item-ico-size != map-get($header, item-ico-size) {
119 | font-size: $item-ico-size;
120 | }
121 | }
122 | }
123 | @if $item-space != map-get($header, item-space) {
124 | > .regret {
125 | padding-left: $item-space;
126 | }
127 | > .affirm {
128 | padding-right: $item-space;
129 | }
130 | }
131 | // 增量扩展
132 | @content;
133 | }
134 | }
135 |
136 | // 调用本文件时载入header基础构造
137 | .yo-header {
138 | @include _header;
139 | }
--------------------------------------------------------------------------------
/src/styles/lib/fragment/yo-list.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class fragment
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/fragment/yo-list.html)
12 | * @method yo-list
13 | * @param {String} $name 定义list名称
14 | * @param {Length} $margin 定义list外边距
15 | * @param {Length} $radius 定义list圆角
16 | * @param {Length} $border-width 定义list外边框厚度
17 | * @param {Color} $bordercolor 定义list边框色
18 | * @param {Length} $item-padding 定义list项的内补白
19 | * @param {Length} $label-padding 定义list分组标题内补白
20 | * @param {Color} $label-bgcolor 定义list分组标题背景色
21 | * @param {Color} $active-bgcolor 定义list点击反馈背景色
22 | * @param {Color} $on-bgcolor 定义list选中背景色
23 | * @param {Color} $on-color 定义list选中文本色
24 | * @param {Color} $item-bordercolor 定义list子项边框色
25 | * @param {Color} $label-bordercolor 定义list子项组头边框色
26 | * @param {Length} $item-font-size 定义list项字号
27 | * @param {Length} $label-font-size 定义list列表组头字号
28 | * @param {Length} $item-border-space 列表项下边线距离左侧的间隙
29 | */
30 |
31 | @mixin yo-list(
32 | $name: default,
33 | $margin: default,
34 | $radius: default,
35 | $border-width: default,
36 | $bordercolor: default,
37 | $item-padding: default,
38 | $label-padding: default,
39 | $label-bgcolor: default,
40 | $active-bgcolor: default,
41 | $on-bgcolor: default,
42 | $on-color: default,
43 | $item-bordercolor: default,
44 | $label-bordercolor: default,
45 | $item-font-size: default,
46 | $label-font-size: default,
47 | $item-border-space: default) {
48 | // 区别是否新增实例还是修改本身
49 | @if $name == default {
50 | $name: "";
51 | } @else {
52 | $name: "-#{$name}";
53 | }
54 | // 如果值为default,则取config的定义
55 | @if $margin == default {
56 | $margin: map-get($list, margin);
57 | }
58 | @if $radius == default {
59 | $radius: map-get($list, radius);
60 | }
61 | @if $border-width == default {
62 | $border-width: map-get($list, border-width);
63 | }
64 | @if $bordercolor == default {
65 | $bordercolor: map-get($list, bordercolor);
66 | }
67 | @if $item-padding == default {
68 | $item-padding: map-get($list, item-padding);
69 | }
70 | @if $label-padding == default {
71 | $label-padding: map-get($list, label-padding);
72 | }
73 | @if $label-bgcolor == default {
74 | $label-bgcolor: map-get($list, label-bgcolor);
75 | }
76 | @if $active-bgcolor == default {
77 | $active-bgcolor: map-get($list, active-bgcolor);
78 | }
79 | @if $on-bgcolor == default {
80 | $on-bgcolor: map-get($list, on-bgcolor);
81 | }
82 | @if $on-color == default {
83 | $on-color: map-get($list, on-color);
84 | }
85 | @if $item-bordercolor == default {
86 | $item-bordercolor: map-get($list, item-bordercolor);
87 | }
88 | @if $label-bordercolor == default {
89 | $label-bordercolor: map-get($list, label-bordercolor);
90 | }
91 | @if $label-font-size == default {
92 | $label-font-size: map-get($list, label-font-size);
93 | }
94 | @if $item-font-size == default {
95 | $item-font-size: map-get($list, item-font-size);
96 | }
97 | @if $item-border-space == default {
98 | $item-border-space: map-get($list, item-border-space);
99 | }
100 | .yo-list#{$name} {
101 | @if $margin != map-get($list, margin) {
102 | margin: $margin;
103 | }
104 | @if $radius != map-get($list, radius) {
105 | border-radius: $radius;
106 | }
107 | // 如果$border-width不等于config设定,则重绘边框相关
108 | @if $border-width != map-get($list, border-width) {
109 | // 如果$border-width为null,重设置为0
110 | @if $border-width == null {
111 | $border-width: 0;
112 | }
113 | border-width: $border-width;
114 | // 如果$bordercolor不等于config设定,则重绘边框色
115 | @if $bordercolor != map-get($list, bordercolor) {
116 | @if $border-width != 0 {
117 | border-color: $bordercolor;
118 | }
119 | } @else {
120 | // 如果config的边框厚度定义为null或者0,在扩展时,加上边框色
121 | @if map-get($list, border-width) == null or
122 | map-get($list, border-width) == 0 {
123 | border-color: map-get($list, bordercolor);
124 | }
125 | }
126 | // 如果config的边框厚度定义为null或者0,在扩展时,加上border-style
127 | @if map-get($list, border-width) == null or
128 | map-get($list, border-width) == 0 {
129 | border-style: solid;
130 | }
131 | } @else {
132 | // 如果扩展的边框厚度大于0且边框色和config边框色不同,在扩展时,重绘边框色
133 | @if $border-width != null and
134 | $border-width != 0 and
135 | $bordercolor != map-get($list, bordercolor) {
136 | border-color: $bordercolor;
137 | }
138 | }
139 | > .label {
140 | @if $label-padding != map-get($list, label-padding) {
141 | padding: $label-padding;
142 | > .col {
143 | padding: $label-padding;
144 | }
145 | }
146 | @if $label-bordercolor != map-get($list, label-bordercolor) {
147 | border-color: $label-bordercolor;
148 | }
149 | @if $label-bgcolor != map-get($list, label-bgcolor) {
150 | background-color: $label-bgcolor;
151 | }
152 | @if $label-font-size != map-get($list, label-font-size) {
153 | font-size: $label-font-size;
154 | }
155 | }
156 | > .item,
157 | .front {
158 | @if $item-padding != map-get($list, item-padding) {
159 | padding: $item-padding;
160 | > .col {
161 | padding: $item-padding;
162 | }
163 | }
164 | }
165 | > .item {
166 | @if $item-bordercolor != map-get($list, item-bordercolor) {
167 | @include gradient(linear, $item-bordercolor, $item-bordercolor);
168 | }
169 | @if $item-border-space != map-get($list, item-border-space) {
170 | background-position: $item-border-space bottom;
171 | }
172 | @if $item-font-size != map-get($list, item-font-size) {
173 | font-size: $item-font-size;
174 | }
175 | &:last-child {
176 | // 最后一根线的颜色与外边框颜色相同
177 | @if $bordercolor != map-get($list, bordercolor) {
178 | @include gradient(linear, $bordercolor, $bordercolor);
179 | }
180 | }
181 | &.item-active:active,
182 | &.item-light {
183 | @if $active-bgcolor != map-get($list, active-bgcolor) {
184 | background-color: $active-bgcolor;
185 | }
186 | }
187 | &.item-on {
188 | @if $on-bgcolor != map-get($list, on-bgcolor) {
189 | background-color: $on-bgcolor;
190 | }
191 | @if $on-color != map-get($list, on-color) {
192 | color: $on-color;
193 | }
194 | }
195 | }
196 | // 增量扩展
197 | @content;
198 | }
199 | }
200 |
201 | // 调用本文件时载入list基础构造
202 | .yo-list {
203 | @include _list;
204 | }
--------------------------------------------------------------------------------
/src/styles/lib/fragment/yo-table.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class fragment
6 | */
7 |
8 | /**
9 | * 构造表格的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/fragment/yo-table.html)
12 | * @method yo-table
13 | * @param {String} $name 定义table名称
14 | * @param {String} $width 定义table长度
15 | * @param {Boole} $has-vertical-border 定义table是否需要纵向边框
16 | * @param {Length} $thead-padding 定义table头部内补白
17 | * @param {Length} $tbody-padding 定义table主体内补白
18 | * @param {Color} $bordercolor 定义table边框色
19 | * @param {Color} $thead-bgcolor 定义table头部背景色
20 | * @param {Color} $odd-bgcolor 定义table奇数行背景色
21 | * @param {Color} $even-bgcolor 定义table偶数行背景色
22 | * @param {Color} $active-bgcolor 定义table激活背景色
23 | * @param {Color} $on-bgcolor 定义table选中背景色
24 | */
25 |
26 | @mixin yo-table(
27 | $name: default,
28 | $width: default,
29 | $has-vertical-border: default,
30 | $thead-padding: default,
31 | $tbody-padding: default,
32 | $bordercolor: default,
33 | $thead-bgcolor: default,
34 | $odd-bgcolor: default,
35 | $even-bgcolor: default,
36 | $active-bgcolor: default,
37 | $on-bgcolor: default) {
38 | // 区别是否新增实例还是修改本身
39 | @if $name == default {
40 | $name: "";
41 | } @else {
42 | $name: "-#{$name}";
43 | }
44 | // 如果值为default,则取config的定义
45 | @if $has-vertical-border == default {
46 | $has-vertical-border: map-get($table, has-vertical-border);
47 | }
48 | @if $thead-padding == default {
49 | $thead-padding: map-get($table, thead-padding);
50 | }
51 | @if $tbody-padding == default {
52 | $tbody-padding: map-get($table, tbody-padding);
53 | }
54 | @if $bordercolor == default {
55 | $bordercolor: map-get($table, bordercolor);
56 | }
57 | @if $thead-bgcolor == default {
58 | $thead-bgcolor: map-get($table, thead-bgcolor);
59 | }
60 | @if $odd-bgcolor == default {
61 | $odd-bgcolor: map-get($table, odd-bgcolor);
62 | }
63 | @if $even-bgcolor == default {
64 | $even-bgcolor: map-get($table, even-bgcolor);
65 | }
66 | @if $active-bgcolor == default {
67 | $active-bgcolor: map-get($table, active-bgcolor);
68 | }
69 | @if $on-bgcolor == default {
70 | $on-bgcolor: map-get($table, on-bgcolor);
71 | }
72 | .yo-table#{$name} {
73 | @if $width != default {
74 | width: $width;
75 | }
76 | thead {
77 | @if $thead-bgcolor != none and $thead-bgcolor != map-get($table, thead-bgcolor) {
78 | background-color: $thead-bgcolor;
79 | }
80 | th {
81 | @if $thead-padding != map-get($table, thead-padding) {
82 | padding: $thead-padding;
83 | }
84 | }
85 | }
86 | td {
87 | @if $tbody-padding != map-get($table, tbody-padding) {
88 | padding: $tbody-padding;
89 | }
90 | }
91 | th,td {
92 | @if $has-vertical-border == false {
93 | @if $has-vertical-border != map-get($table, has-vertical-border) {
94 | border-width: 0 0 1px 0;
95 | }
96 | } @else {
97 | @if $has-vertical-border != map-get($table, has-vertical-border) {
98 | border-width: 1px;
99 | }
100 | }
101 | @if $bordercolor != map-get($table, bordercolor) {
102 | border-color: $bordercolor;
103 | }
104 | }
105 | tbody {
106 | tr:nth-child(odd) {
107 | @if $odd-bgcolor != map-get($table, odd-bgcolor) {
108 | background-color: $odd-bgcolor;
109 | }
110 | }
111 | tr:nth-child(even) {
112 | @if $even-bgcolor != map-get($table, even-bgcolor) {
113 | background-color: $even-bgcolor;
114 | }
115 | }
116 | tr:active,
117 | tr.active {
118 | @if $active-bgcolor != map-get($table, active-bgcolor) {
119 | background-color: $active-bgcolor;
120 | }
121 | }
122 | tr.on {
123 | @if $on-bgcolor != map-get($table, on-bgcolor) {
124 | background-color: $on-bgcolor;
125 | }
126 | }
127 | }
128 | // 增量扩展
129 | @content;
130 | }
131 | }
132 |
133 | // 调用本文件时载入table基础构造
134 | .yo-table {
135 | @include _table;
136 | }
--------------------------------------------------------------------------------
/src/styles/lib/layout/classes.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "../core/variables";
3 | @import "../core/classes";
4 | /**
5 | * Yo框架layout
6 | -----------------------
7 | * Yo内置的布局方式
8 | *
9 | * @class layout
10 | * @module Yo
11 | */
12 |
13 | // 定义区块的基础构造
14 | // 使用方法请查看 yo-stacked.scss
15 | @mixin _stacked {
16 | display: block;
17 | margin: map-get($stacked, margin);
18 | }
19 |
20 | // 定义常见弹性布局
21 | // 使用方法请查看 yo-flex.scss
22 | @mixin _flex {
23 | height: 100%;
24 | &,
25 | .flex-inherit {
26 | @include flexbox(map-get($flex, box));
27 | @include flex-direction(map-get($flex, direction));
28 | overflow: hidden;
29 | }
30 | > .flex,
31 | .flex-inherit,
32 | .flex-inherit > .flex {
33 | @include flex(1, column);
34 | position: relative;
35 | }
36 | > .flex,
37 | .flex-inherit > .flex {
38 | @include overflow;
39 | }
40 | }
41 |
42 | // 定义常见水平垂直居中布局
43 | // 使用方法请查看 yo-align.scss
44 | @mixin _align {
45 | @include flexbox;
46 | @include fullscreen;
47 | @include align-items;
48 | @include justify-content;
49 | }
--------------------------------------------------------------------------------
/src/styles/lib/layout/yo-align.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class layout
6 | */
7 |
8 | /**
9 | * 构造弹性布局内容对齐使用方法,可以是横向和纵向
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/layout/yo-align.html)
12 | * @method yo-align
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {String} $text-align 指定水平对齐方式
15 | * @param {String} $vertical-align 指定垂直对齐方式
16 | */
17 |
18 | @mixin yo-align(
19 | $name: default,
20 | $text-align: default,
21 | $vertical-align: default) {
22 | // 区别是否新增实例还是修改本身
23 | @if $name == default {
24 | $name: "";
25 | } @else {
26 | $name: "-#{$name}";
27 | }
28 | // 如果值为default,则取config的定义
29 | @if $text-align == default {
30 | $text-align: map-get($align, text-align);
31 | }
32 | @if $vertical-align == default {
33 | $vertical-align: map-get($align, vertical-align);
34 | }
35 | .yo-align#{$name} {
36 | // 如果$text-align不等于config预设,则重绘弹性盒水平对齐方式
37 | @if $text-align != map-get($align, text-align) {
38 | @include align-items($text-align);
39 | }
40 | // 如果$vertical-align不等于config预设,则重绘弹性盒垂直对齐方式
41 | @if $vertical-align != map-get($align, vertical-align) {
42 | @include justify-content(vertical-align);
43 | }
44 | // 增量扩展
45 | @content;
46 | }
47 | }
48 |
49 | // 调用本文件时载入弹性布局基础构造
50 | .yo-align {
51 | @include _align;
52 | }
--------------------------------------------------------------------------------
/src/styles/lib/layout/yo-flex.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class layout
6 | */
7 |
8 | /**
9 | * 构造弹性布局使用方法,可以是横向和纵向
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/layout/yo-flex.html)
12 | * @method yo-flex
13 | * @param {String} $name 为新的扩展定义一个名称
14 | * @param {String} $box 指定块级或者行级弹性盒
15 | * @param {String} $direction 指定是水平或者垂直布局
16 | */
17 |
18 | @mixin yo-flex(
19 | $name: default,
20 | $box: default,
21 | $direction: default) {
22 | // 区别是否新增实例还是修改本身
23 | @if $name == default {
24 | $name: "";
25 | } @else {
26 | $name: "-#{$name}";
27 | }
28 | // 如果值为default,则取config的定义
29 | @if $box == default {
30 | $box: map-get($flex, box);
31 | }
32 | @if $direction == default {
33 | $direction: map-get($flex, direction);
34 | }
35 | .yo-flex#{$name} {
36 | &,
37 | > .flex-inherit {
38 | // 如果$box不等于config预设,则重绘弹性盒类型
39 | @if $box != map-get($flex, box) {
40 | @include flexbox($box);
41 | }
42 | // 如果$direction不等于config预设,则重绘方向
43 | @if $direction != map-get($flex, direction) {
44 | @include flex-direction($direction);
45 | }
46 | }
47 | > .flex,
48 | > .flex-inherit,
49 | > .flex-inherit > .flex {
50 | // 如果$direction不等于config预设,则重绘方向
51 | @if $direction != map-get($flex, direction) {
52 | @include flex(1, $direction);
53 | }
54 | }
55 | // 增量扩展
56 | @content;
57 | }
58 | }
59 |
60 | // 调用本文件时载入弹性布局基础构造
61 | .yo-flex {
62 | @include _flex;
63 | }
--------------------------------------------------------------------------------
/src/styles/lib/layout/yo-stacked.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class layout
6 | */
7 |
8 | /**
9 | * 构造独立区块布局
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/layout/yo-stacked.html)
12 | * @method yo-stacked
13 | * @param {defailt | String} $name 定义名称
14 | * @param {defailt | Color} $margin 定义外边距
15 | */
16 |
17 | @mixin yo-stacked(
18 | $name: default,
19 | $margin: default) {
20 | // 区别是否新增实例还是修改本身
21 | @if $name == default {
22 | $name: "";
23 | } @else {
24 | $name: "-#{$name}";
25 | }
26 | // 如果值为default,则取config的定义
27 | @if $margin == default {
28 | $margin: map-get($stacked, margin);
29 | }
30 | .yo-stacked#{$name} {
31 | // 如果$margin不等于margin,则重绘外边距
32 | @if $margin != map-get($stacked, margin) {
33 | margin: $margin;
34 | }
35 | // 增量扩展
36 | @content;
37 | }
38 | }
39 |
40 | // 调用本文件时载入区块基础构造
41 | .yo-stacked {
42 | @include _stacked;
43 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-dblist.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-dblist.html)
12 | * @method yo-dblist
13 | * @param {default | String} $name 扩展的名称
14 | * @param {default | Length} $aside-width 侧边栏宽度
15 | * @param {default | Length} $aside-order 侧边栏顺序
16 | */
17 |
18 | @mixin yo-dblist(
19 | $name: default,
20 | $aside-width: default,
21 | $aside-order: default) {
22 | // 区别是否新增实例还是修改本身
23 | @if $name == default {
24 | $name: "";
25 | } @else {
26 | $name: "-#{$name}";
27 | }
28 | // 如果值为default,则取config的定义
29 | @if $aside-width == default {
30 | $aside-width: map-get($dblist, aside-width);
31 | }
32 | @if $aside-order == default {
33 | $aside-order: map-get($dblist, aside-order);
34 | }
35 | .yo-dblist#{$name} {
36 | > .item {
37 | &:first-child {
38 | @if $aside-width != map-get($dblist, aside-width) {
39 | width: $aside-width;
40 | }
41 | @if $aside-order != map-get($dblist, aside-order) {
42 | @include order($aside-order);
43 | }
44 | }
45 | }
46 | // 增量扩展
47 | @content;
48 | }
49 | }
50 |
51 | // 调用本文件时载入dblist基础构造
52 | .yo-dblist {
53 | @include _dblist;
54 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-dialog.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 | @import "../element/yo-btn";
4 |
5 | /**
6 | * @class widget
7 | */
8 |
9 | /**
10 | * 构造列表的自定义使用方法
11 | -----------------------
12 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-dialog.html)
13 | * @method yo-dialog
14 | * @param {default | String} $name 定义dialog名称
15 | * @param {default | Length | null} $width 定义dialog宽度
16 | * @param {default | Length} $height 定义dialog高度
17 | * @param {default | Length} $radius 定义dialog圆角
18 | * @param {default | Number} $shadow-opacity 定义dialog阴影透明度
19 | * @param {default | Color} $bordercolor 定义dialog边框色
20 | * @param {default | Length} $hd-height 定义dialog头部高度
21 | * @param {default | Color} $hd-bgcolor 定义dialog头部背景色
22 | * @param {default | Color} $title-color 定义dialog标题文本色
23 | * @param {default | Length} $title-font-size 定义dialog标题字号
24 | * @param {default | Length} $bd-padding 定义dialog主体补白
25 | * @param {default | Length} $bd-font-size 定义dialog主体字号
26 | */
27 |
28 | @mixin yo-dialog(
29 | $name: default,
30 | $width: default,
31 | $height: default,
32 | $radius: default,
33 | $shadow-opacity: default,
34 | $bordercolor: default,
35 | $hd-height: default,
36 | $hd-bgcolor: default,
37 | $title-color: default,
38 | $title-font-size: default,
39 | $bd-padding: default,
40 | $bd-font-size: default) {
41 | // 区别是否新增实例还是修改本身
42 | @if $name == default {
43 | $name: "";
44 | } @else {
45 | $name: "-#{$name}";
46 | }
47 | // 如果值为default,则取config的定义
48 | @if $width == default {
49 | $width: map-get($dialog, width);
50 | }
51 | @if $height == default {
52 | $height: map-get($dialog, height);
53 | }
54 | @if $radius == default {
55 | $radius: map-get($dialog, radius);
56 | }
57 | @if $shadow-opacity == default {
58 | $shadow-opacity: map-get($dialog, shadow-opacity);
59 | }
60 | @if $bordercolor == default {
61 | $bordercolor: map-get($dialog, bordercolor);
62 | }
63 | @if $hd-height == default {
64 | $hd-height: map-get($dialog, hd-height);
65 | }
66 | @if $hd-bgcolor == default {
67 | $hd-bgcolor: map-get($dialog, hd-bgcolor);
68 | }
69 | @if $title-color == default {
70 | $title-color: map-get($dialog, title-color);
71 | }
72 | @if $title-font-size == default {
73 | $title-font-size: map-get($dialog, title-font-size);
74 | }
75 | @if $bd-padding == default {
76 | $bd-padding: map-get($dialog, bd-padding);
77 | }
78 | @if $bd-font-size == default {
79 | $bd-font-size: map-get($dialog, bd-font-size);
80 | }
81 | .yo-dialog#{$name} {
82 | @if $radius != map-get($dialog, radius) {
83 | border-radius: $radius;
84 | }
85 | @if $bordercolor != map-get($dialog, bordercolor) {
86 | border-color: $bordercolor;
87 | box-shadow: 0 0 5px rgba($bordercolor, $shadow-opacity);
88 | } @else {
89 | @if $shadow-opacity != map-get($dialog, shadow-opacity) {
90 | box-shadow: 0 0 5px rgba($bordercolor, $shadow-opacity);
91 | }
92 | }
93 | @if $width != map-get($dialog, width) {
94 | width: $width;
95 | }
96 | @if $height != map-get($dialog, height) {
97 | height: $height;
98 | }
99 | > .hd {
100 | @if $hd-height != map-get($dialog, hd-height) {
101 | height: $hd-height;
102 | line-height: $hd-height;
103 | }
104 | @if $hd-bgcolor != map-get($dialog, hd-bgcolor) {
105 | background: $hd-bgcolor;
106 | }
107 | .title {
108 | @if $title-color != map-get($dialog, title-color) and $title-color != map-get($base, color) {
109 | color: $title-color;
110 | }
111 | @if $title-font-size != map-get($dialog, title-font-size) and $title-font-size != map-get($base, font-size) {
112 | font-size: $title-font-size;
113 | }
114 | }
115 | }
116 | > .bd {
117 | @if $bd-padding != map-get($dialog, bd-padding) {
118 | padding: $bd-padding;
119 | }
120 | @if $bd-font-size != map-get($dialog, bd-font-size) and $bd-font-size != map-get($base, font-size) {
121 | font-size: $bd-font-size;
122 | }
123 | }
124 | // 增量扩展
125 | @content;
126 | }
127 | }
128 |
129 | // 调用本文件时载入dialog基础构造
130 | .yo-dialog {
131 | @include _dialog;
132 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-group.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 | @import "../fragment/yo-list";
4 | @import "yo-index";
5 |
6 | /**
7 | * @class widget
8 | */
9 |
10 | /**
11 | * 构造列表的自定义使用方法
12 | -----------------------
13 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-group.html)
14 | * @method yo-group
15 | * @param {default | String} $name 定义yo-group名称
16 | * @param {default | Length} $top 定义yo-group顶部偏移值
17 | */
18 |
19 | @mixin yo-group(
20 | $name: default,
21 | $top: default) {
22 | // 区别是否新增实例还是修改本身
23 | @if $name == default {
24 | $name: "";
25 | } @else {
26 | $name: "-#{$name}";
27 | }
28 | // 如果值为default,则取config的定义
29 | @if $top == default {
30 | $top: map-get($group, top);
31 | }
32 | .yo-group#{$name} {
33 | @if $top != map-get($group, top) {
34 | top: $top;
35 | }
36 | // 增量扩展
37 | @content;
38 | }
39 | }
40 |
41 | // 调用本文件时载入group基础构造
42 | .yo-group {
43 | @include _group;
44 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-index.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-index.html)
12 | * @method yo-index
13 | * @param {default | String} $name 定义yo-index名称
14 | * @param {default | Length} $width 定义yo-index宽度
15 | * @param {default | Color} $color 定义yo-index文本色
16 | * @param {default | Length} $font-size 定义yo-index文本字号
17 | */
18 |
19 | @mixin yo-index(
20 | $name: default,
21 | $width: default,
22 | $color: default,
23 | $font-size: default) {
24 | // 区别是否新增实例还是修改本身
25 | @if $name == default {
26 | $name: "";
27 | } @else {
28 | $name: "-#{$name}";
29 | }
30 | // 如果值为default,则取config的定义
31 | @if $width == default {
32 | $width: map-get($index, width);
33 | }
34 | @if $color == default {
35 | $color: map-get($index, color);
36 | }
37 | @if $font-size == default {
38 | $font-size: map-get($index, font-size);
39 | }
40 | .yo-index#{$name} {
41 | @if $width != map-get($index, width) {
42 | width: $width;
43 | }
44 | @if $color != map-get($index, color) {
45 | color: $color;
46 | }
47 | @if $font-size != map-get($index, font-size) {
48 | font-size: $font-size;
49 | }
50 | .ellipsis {
51 | @if $color != map-get($index, color) {
52 | background-color: $color;
53 | }
54 | @if $font-size != map-get($index, font-size) {
55 | @include square($font-size / 2);
56 | }
57 | }
58 | // 增量扩展
59 | @content;
60 | }
61 | }
62 |
63 | // 调用本文件时载入index基础构造
64 | .yo-index {
65 | @include _index;
66 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-mask.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-mask.html)
12 | * @method yo-mask
13 | * @param {default | String} $name 定义yo-mask名称
14 | * @param {default | Color} $bgcolor 定义yo-mask背景色
15 | */
16 |
17 | @mixin yo-mask(
18 | $name: default,
19 | $bgcolor: default) {
20 | // 区别是否新增实例还是修改本身
21 | @if $name == default {
22 | $name: "";
23 | } @else {
24 | $name: "-#{$name}";
25 | }
26 | // 如果值为default,则取config的定义
27 | @if $bgcolor == default {
28 | $bgcolor: map-get($mask, bgcolor);
29 | }
30 | .yo-mask#{$name} {
31 | @if $bgcolor != map-get($mask, bgcolor) {
32 | background-color: rgba($bgcolor, .5);
33 | }
34 | // 增量扩展
35 | @content;
36 | }
37 | }
38 |
39 | // 调用本文件时载入mask基础构造
40 | .yo-mask {
41 | @include _mask;
42 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-number.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-number.html)
12 | * @method yo-number
13 | * @param {default | String} $name 定义yo-number名称
14 | * @param {default | Length} $width 定义yo-number宽度
15 | * @param {default | Length} $height 定义yo-number高度
16 | * @param {default | Color} $bordercolor 定义yo-number边框色
17 | * @param {default | Color} $color 定义yo-number输入框文本色
18 | * @param {default | Color} $sign-bgcolor 定义yo-number加减号背景色
19 | * @param {default | Color} $sign-color 定义yo-number加减号文本色
20 | * @param {default | Color} $disabled-sign-color 定义yo-number禁用文本色
21 | */
22 |
23 | @mixin yo-number(
24 | $name: default,
25 | $width: default,
26 | $height: default,
27 | $bordercolor: default,
28 | $color: default,
29 | $sign-bgcolor: default,
30 | $sign-color: default,
31 | $disabled-sign-color: default) {
32 | // 区别是否新增实例还是修改本身
33 | @if $name == default {
34 | $name: "";
35 | } @else {
36 | $name: "-#{$name}";
37 | }
38 | // 如果值为default,则取config的定义
39 | @if $width == default {
40 | $width: map-get($number, width);
41 | }
42 | @if $height == default {
43 | $height: map-get($number, height);
44 | }
45 | @if $bordercolor == default {
46 | $bordercolor: map-get($number, bordercolor);
47 | }
48 | @if $color == default {
49 | $color: map-get($number,color);
50 | }
51 | @if $sign-bgcolor == default {
52 | $sign-bgcolor: map-get($number, sign-bgcolor);
53 | }
54 | @if $sign-color == default {
55 | $sign-color: map-get($number, sign-color);
56 | }
57 | @if $disabled-sign-color == default {
58 | $disabled-sign-color: map-get($number, disabled-sign-color);
59 | }
60 | .yo-number#{$name} {
61 | @if $width != map-get($number, width) {
62 | width: $width;
63 | }
64 | @if $height != map-get($number, height) {
65 | height: $height;
66 | line-height: $height;
67 | }
68 | @if $bordercolor != map-get($number, bordercolor) {
69 | border-color: $bordercolor;
70 | box-shadow: 1px 1px 1px rgba($bordercolor,.3);
71 | }
72 | > .minus,
73 | > .plus {
74 | width: .35rem;
75 | @if $sign-bgcolor != map-get($number, sign-bgcolor) {
76 | background-color: $sign-bgcolor;
77 | }
78 | @if $sign-color != map-get($number, sign-color) {
79 | color: $sign-color;
80 | }
81 | &.disabled{
82 | @if $disabled-sign-color != map-get($number, disabled-sign-color) {
83 | color: $disabled-sign-color;
84 | }
85 | }
86 | }
87 | > .input {
88 | @if $bordercolor != map-get($number, bordercolor) {
89 | border-color: $bordercolor;
90 | box-shadow: inset 1px 1px 1px rgba($bordercolor,.2);
91 | }
92 | @if $color != map-get($number, color) {
93 | color: $color;
94 | }
95 | }
96 | // 增量扩展
97 | @content;
98 | }
99 | }
100 |
101 | // 调用本文件时载入number基础构造
102 | .yo-number {
103 | @include _number;
104 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-panel.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-panel.html)
12 | * @method yo-panel
13 | * @param {default | String} $name 定义yo-panel名称
14 | * @param {default | Length} $top 定义yo-panel顶部偏移值
15 | */
16 |
17 | @mixin yo-panel(
18 | $name: default,
19 | $top: default) {
20 | // 区别是否新增实例还是修改本身
21 | @if $name == default {
22 | $name: "";
23 | } @else {
24 | $name: "-#{$name}";
25 | }
26 | // 如果值为default,则取config的定义
27 | @if $top == default {
28 | $top: map-get($group, top);
29 | }
30 | .yo-panel#{$name} {
31 | @if $top != map-get($group, top) {
32 | top: $top;
33 | }
34 | // 增量扩展
35 | @content;
36 | }
37 | }
38 |
39 | // 调用本文件时载入panel基础构造
40 | .yo-panel {
41 | @include _group;
42 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-popup.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-popup.html)
12 | * @method yo-popup
13 | * @param {default | String} $name 定义popup名称
14 | * @param {default | Length | null} $width 定义popup宽度
15 | * @param {default | Length} $height 定义popup高度
16 | * @param {default | Length} $radius 定义popup圆角
17 | * @param {default | Number} $shadow-opacity 定义popup阴影透明度
18 | * @param {default | Color} $bordercolor 定义popup边框色
19 | * @param {default | Length} $hd-height 定义popup头部高度
20 | * @param {default | Color} $hd-bgcolor 定义popup头部背景色
21 | * @param {default | Color} $title-color 定义popup标题文本色
22 | * @param {default | Length} $title-font-size 定义popup标题字号
23 | * @param {default | Length} $bd-padding 定义popup主体补白
24 | * @param {default | Length} $arrow-size 定义popup箭头高度
25 | */
26 |
27 | @mixin yo-popup(
28 | $name: default,
29 | $width: default,
30 | $height: default,
31 | $radius: default,
32 | $shadow-opacity: default,
33 | $bordercolor: default,
34 | $hd-height: default,
35 | $hd-bgcolor: default,
36 | $title-color: default,
37 | $title-font-size: default,
38 | $bd-padding: default,
39 | $arrow-size: default) {
40 | // 区别是否新增实例还是修改本身
41 | @if $name == default {
42 | $name: "";
43 | } @else {
44 | $name: "-#{$name}";
45 | }
46 | // 如果值为default,则取config的定义
47 | @if $width == default {
48 | $width: map-get($popup, width);
49 | }
50 | @if $height == default {
51 | $height: map-get($popup, height);
52 | }
53 | @if $radius == default {
54 | $radius: map-get($popup, radius);
55 | }
56 | @if $bordercolor == default {
57 | $bordercolor: map-get($popup, bordercolor);
58 | }
59 | @if $shadow-opacity == default {
60 | $shadow-opacity: map-get($popup, shadow-opacity);
61 | }
62 | @if $hd-height == default {
63 | $hd-height: map-get($popup, hd-height);
64 | }
65 | @if $hd-bgcolor == default {
66 | $hd-bgcolor: map-get($popup, hd-bgcolor);
67 | }
68 | @if $title-color == default {
69 | $title-color: map-get($popup, title-color);
70 | }
71 | @if $title-font-size == default {
72 | $title-font-size: map-get($popup, title-font-size);
73 | }
74 | @if $bd-padding == default {
75 | $bd-padding: map-get($popup, bd-padding);
76 | }
77 | @if $arrow-size == default {
78 | $arrow-size: map-get($popup, arrow-size);
79 | }
80 | .yo-popup#{$name} {
81 | > .arrow::after{
82 | @if $arrow-size != map-get($popup, arrow-size) {
83 | font-size: $arrow-size * 2;
84 | }
85 | }
86 | .arrow-top::after{
87 | @if $arrow-size != map-get($popup, arrow-size) {
88 | top: -$arrow-size + .01rem;
89 | }
90 | @if $bordercolor != map-get($popup, bordercolor) {
91 | text-shadow: 0 -1px $bordercolor;
92 | }
93 | }
94 | .arrow-down::after {
95 | @if $arrow-size != map-get($popup, arrow-size) {
96 | bottom: -$arrow-size + .01rem;
97 | }
98 | @if $bordercolor != map-get($popup, bordercolor) {
99 | text-shadow: 0 1px $bordercolor;
100 | }
101 | }
102 | .arrow-right::after {
103 | @if $arrow-size != map-get($popup, arrow-size) {
104 | right: -$arrow-size + .01rem;
105 | }
106 | @if $bordercolor != map-get($popup, bordercolor) {
107 | text-shadow: 1px 0 $bordercolor;
108 | }
109 | }
110 | .arrow-left::after {
111 | @if $arrow-size != map-get($popup, arrow-size) {
112 | left: -$arrow-size + .01rem;
113 | }
114 | @if $bordercolor != map-get($popup, bordercolor) {
115 | text-shadow: -1px 0 $bordercolor;
116 | }
117 | }
118 | .arrow-extra.arrow::after {
119 | @if $hd-bgcolor != map-get($popup, hd-bgcolor) {
120 | color: $hd-bgcolor;
121 | }
122 | }
123 | @if $radius != map-get($popup, radius) {
124 | border-radius: $radius;
125 | }
126 | @if $bordercolor != map-get($popup, bordercolor) {
127 | border-color: $bordercolor;
128 | box-shadow: 0 0 5px rgba($bordercolor, $shadow-opacity);
129 | } @else {
130 | @if $shadow-opacity != map-get($popup, shadow-opacity) {
131 | box-shadow: 0 0 5px rgba($bordercolor, $shadow-opacity);
132 | }
133 | }
134 | @if $width != map-get($popup, width) {
135 | width: $width;
136 | }
137 | @if $height != map-get($popup, height) {
138 | height: $height;
139 | }
140 | > .hd {
141 | @if $radius != map-get($popup, radius) {
142 | border-radius: $radius $radius 0 0;
143 | }
144 | @if $hd-height != map-get($popup, hd-height) {
145 | height: $hd-height;
146 | line-height: $hd-height;
147 | }
148 | @if $bordercolor != map-get($popup, bordercolor) {
149 | border-bottom-color: $bordercolor;
150 | }
151 | @if $hd-bgcolor != map-get($popup, hd-bgcolor) {
152 | background: $hd-bgcolor;
153 | }
154 | .title {
155 | @if $title-color != map-get($popup, title-color) and $title-color != map-get($base, color) {
156 | color: $title-color;
157 | }
158 | @if $title-font-size != map-get($popup, title-font-size) and $title-font-size != map-get($base, font-size) {
159 | font-size: $title-font-size;
160 | }
161 | }
162 | }
163 | > .bd {
164 | @if $bd-padding != map-get($popup, bd-padding) {
165 | padding: $bd-padding;
166 | }
167 | }
168 | > .ft {
169 | @if $bordercolor != map-get($popup, bordercolor) {
170 | border-color: $bordercolor;
171 | }
172 | }
173 | // 增量扩展
174 | @content;
175 | }
176 | }
177 |
178 | // 调用本文件时载入popup基础构造
179 | .yo-popup {
180 | @include _popup;
181 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-rating.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-rating.html)
12 | * @method yo-rating
13 | * @param {default | String} $name 定义yo-rating名称
14 | * @param {default | Length} $item-width 定义yo-rating 单项宽度
15 | * @param {default | Length} $item-height 定义yo-rating 单项高度
16 | * @param {default | Color} $url 定义yo-rating 图片url
17 | */
18 |
19 | @mixin yo-rating(
20 | $name: default,
21 | $item-width: default,
22 | $item-height: default,
23 | $url: default) {
24 | // 区别是否新增实例还是修改本身
25 | @if $name == default {
26 | $name: "";
27 | } @else {
28 | $name: "-#{$name}";
29 | }
30 | // 如果值为default,则取config的定义
31 | @if $item-width == default {
32 | $item-width: map-get($rating, item-width);
33 | }
34 | @if $item-height == default {
35 | $item-height: map-get($rating, item-height);
36 | }
37 | @if $url == default {
38 | $url: map-get($rating, url);
39 | }
40 | .yo-rating#{$name} {
41 | @if $item-width != map-get($rating, item-width) {
42 | width: $item-width * 5;
43 | }
44 | @if $item-height != map-get($rating, item-height) {
45 | height: $item-height;
46 | }
47 | &,
48 | > .index,
49 | > .item {
50 | @if $url != map-get($rating, url) {
51 | background-image: url(#{map-get($setting, bgimg-domain)}#{$url});
52 | }
53 | @if $item-height != map-get($rating, item-height) {
54 | background-size: auto $item-height * 2;
55 | }
56 | }
57 | > .index {
58 | @if $item-height != map-get($rating, item-height) {
59 | background-position: 0 -#{$item-height};
60 | }
61 | }
62 | > .item {
63 | &:hover {
64 | @if $item-height != map-get($rating, item-height) {
65 | background-position: 0 -#{$item-height};
66 | }
67 | }
68 | }
69 | // 增量扩展
70 | @content;
71 | }
72 | }
73 |
74 | // 调用本文件时载入rating基础构造
75 | .yo-rating {
76 | @include _rating;
77 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-select.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-select.html)
12 | * @method yo-select
13 | * @param {default | String} $name 定义select名称
14 | * @param {default | Length} $width 定义select显示的子项个数
15 | * @param {default | Length} $height 定义select子项高度
16 | * @param {default | Color} $bordercolor 定义select边框色
17 | */
18 |
19 | @mixin yo-select(
20 | $name: default,
21 | $item: default,
22 | $item-height: default,
23 | $bordercolor: default) {
24 | // 区别是否新增实例还是修改本身
25 | @if $name == default {
26 | $name: "";
27 | } @else {
28 | $name: "-#{$name}";
29 | }
30 | // 如果值为default,则取config的定义
31 | @if $item == default {
32 | $item: map-get($select, item);
33 | }
34 | @if $item-height == default {
35 | $item-height: map-get($select, item-height);
36 | }
37 | @if $bordercolor == default {
38 | $bordercolor: map-get($select, bordercolor);
39 | }
40 | .yo-select#{$name} {
41 | @if $item-height != map-get($select, item-height) or $item != map-get($select, item) {
42 | height: $item-height * $item;
43 | line-height: $item-height;
44 | }
45 | &::before {
46 | @if $item-height != map-get($select, item-height) {
47 | height: $item-height;
48 | margin-top: -#{$item-height / 2};
49 | }
50 | @if $bordercolor != map-get($select, bordercolor) {
51 | border-color: $bordercolor;
52 | }
53 | }
54 | &-item-tag {
55 | @if $item-height != map-get($select, item-height) or $item != map-get($select, item) {
56 | line-height: $item-height * $item;
57 | }
58 | }
59 | // 增量扩展
60 | @content;
61 | }
62 | }
63 |
64 | // 调用本文件时载入select基础构造
65 | .yo-select {
66 | @include _select;
67 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-slidermenu.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-slidermenu.html)
12 | * @method yo-slidermenu
13 | * @param {default | String} $name 扩展的名称
14 | * @param {default | Length} $action-width 定义action宽度
15 | * @param {default | Color} $action-bgcolor 定义action背景色
16 | */
17 |
18 | @mixin yo-slidermenu(
19 | $name: default,
20 | $action-width: default,
21 | $action-bgcolor: default) {
22 | // 区别是否新增实例还是修改本身
23 | @if $name == default {
24 | $name: "";
25 | } @else {
26 | $name: "-#{$name}";
27 | }
28 | // 如果值为default,则取config的定义
29 | @if $action-width == default {
30 | $action-width: map-get($slidermenu, action-width);
31 | }
32 | @if $action-bgcolor == default {
33 | $action-bgcolor: map-get($slidermenu, action-bgcolor);
34 | }
35 | .yo-slidermenu#{$name} {
36 | > .action {
37 | @if $action-width != map-get($slidermenu, action-width) {
38 | width: $action-width;
39 | }
40 | @if $action-bgcolor != map-get($slidermenu, action-bgcolor) {
41 | background-color: $action-bgcolor;
42 | }
43 | }
44 | // 增量扩展
45 | @content;
46 | }
47 | }
48 |
49 | // 调用本文件时载入slidermenu基础构造
50 | .yo-slidermenu {
51 | @include _slidermenu;
52 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-suggest.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-suggest.html)
12 | * @method yo-suggest
13 | * @param {default | String} $name 定义yo-suggest名称
14 | * @param {default | Length} $height 定义yo-suggest高度
15 | * @param {default | Length} $font-size 定义yo-suggest文本大小
16 | * @param {default | Length} $op-padding 定义yo-suggest内补白
17 | * @param {default | Length} $radius 定义yo-suggest圆角
18 | * @param {default | Color} $bordercolor 定义yo-suggest边框色
19 | * @param {default | Color} $bgcolor 定义yo-suggest背景色
20 | * @param {default | Color} $color 定义yo-suggest文本色
21 | * @param {default | Color} $on-bordercolor 定义yo-suggest激活边框色
22 | * @param {default | Color} $on-bgcolor 定义yo-suggest激活背景色
23 | * @param {default | Color} $placeholder-color 定义yo-suggest占位背景色
24 | * @param {default | Color} $ico-color 定义yo-suggest 操作区ico颜色
25 | * @param {default | Color} $cancel-color 定义yo-suggest取消按钮颜色
26 | * @param {default | Color} $op-bgcolor 定义yo-suggest搜索区域背景色
27 | * @param {default | Color} $mask-bgcolor 定义yo-suggest遮罩背景色
28 | * @param {default | Length} $cancel-width 取消按钮区域宽度
29 | */
30 |
31 | @mixin yo-suggest(
32 | $name: default,
33 | $height: default,
34 | $font-size: default,
35 | $op-padding: default,
36 | $radius: default,
37 | $bordercolor: default,
38 | $bgcolor: default,
39 | $color: default,
40 | $on-bordercolor: default,
41 | $on-bgcolor: default,
42 | $placeholder-color: default,
43 | $ico-color: default,
44 | $cancel-color: default,
45 | $op-bgcolor: default,
46 | $mask-bgcolor: default,
47 | $cancel-width: default) {
48 | // 区别是否新增实例还是修改本身
49 | @if $name == default {
50 | $name: "";
51 | } @else {
52 | $name: "-#{$name}";
53 | }
54 | // 如果值为default,则取config的定义
55 | @if $height == default {
56 | $height: map-get($suggest, height);
57 | }
58 | @if $font-size == default {
59 | $font-size: map-get($suggest, font-size);
60 | }
61 | @if $op-padding == default {
62 | $op-padding: map-get($suggest, op-padding);
63 | }
64 | @if $radius == default {
65 | $radius: map-get($suggest, radius);
66 | }
67 | @if $bordercolor == default {
68 | $bordercolor: map-get($suggest, bordercolor);
69 | }
70 | @if $bgcolor == default {
71 | $bgcolor: map-get($suggest, bgcolor);
72 | }
73 | @if $color == default {
74 | $color: map-get($suggest,color);
75 | }
76 | @if $on-bordercolor == default {
77 | $on-bordercolor: map-get($suggest, on-bordercolor);
78 | }
79 | @if $on-bgcolor == default {
80 | $on-bgcolor: map-get($suggest, on-bgcolor);
81 | }
82 | @if $placeholder-color == default {
83 | $placeholder-color: map-get($suggest, placeholder-color);
84 | }
85 | @if $ico-color == default {
86 | $ico-color: map-get($suggest, ico-color);
87 | }
88 | @if $cancel-color == default {
89 | $cancel-color: map-get($suggest, cancel-color);
90 | }
91 | @if $op-bgcolor == default {
92 | $op-bgcolor: map-get($suggest, op-bgcolor);
93 | }
94 | @if $mask-bgcolor == default {
95 | $mask-bgcolor: map-get($suggest, mask-bgcolor);
96 | }
97 | @if $cancel-width == default {
98 | $cancel-width: map-get($suggest, cancel-width);
99 | }
100 | .yo-suggest#{$name} {
101 | > .operate {
102 | @if $font-size != map-get($suggest, font-size) {
103 | font-size: $font-size;
104 | }
105 | @if $height != map-get($suggest, height) {
106 | line-height: $height;
107 | }
108 | @if $op-padding != map-get($suggest, op-padding) {
109 | padding: $op-padding;
110 | }
111 | @if $bordercolor != map-get($suggest, bordercolor) {
112 | border-bottom-color: $bordercolor;
113 | }
114 | @if $op-bgcolor != map-get($suggest, op-bgcolor) {
115 | background-color: $op-bgcolor;
116 | }
117 | > .action {
118 | @if $height != map-get($suggest, height) {
119 | height: $height;
120 | }
121 | > .input {
122 | @if $bordercolor != map-get($suggest, bordercolor) {
123 | border-color: $bordercolor;
124 | }
125 | @if $radius != map-get($suggest, radius) {
126 | border-radius: $radius;
127 | }
128 | @if $bgcolor != map-get($suggest, bgcolor) {
129 | background-color: $bgcolor;
130 | }
131 | @if $color != map-get($suggest, color) {
132 | color: $color;
133 | }
134 | @if $font-size != map-get($suggest, font-size) {
135 | font-size: $font-size;
136 | }
137 | }
138 | > .yo-ico-delete,
139 | > .yo-ico-fresh,
140 | > .yo-ico-stop {
141 | @if $ico-color != map-get($suggest, ico-color) {
142 | color: $ico-color;
143 | }
144 | }
145 | > .label {
146 | @if $placeholder-color != map-get($suggest, placeholder-color) {
147 | color: $placeholder-color;
148 | }
149 | }
150 | }
151 | > .cancel {
152 | @if $cancel-width != map-get($suggest, cancel-width) {
153 | width: $cancel-width;
154 | }
155 | @if $cancel-color != map-get($suggest, cancel-color) {
156 | color: $cancel-color;
157 | }
158 | }
159 | &-on,
160 | &-fresh,
161 | &-stop {
162 | > .action > .input {
163 | @if $on-bordercolor != map-get($suggest, on-bordercolor) {
164 | border-color: $on-bordercolor;
165 | }
166 | @if $on-bgcolor != map-get($suggest, on-bgcolor) {
167 | background-color: $on-bgcolor;
168 | }
169 | }
170 | }
171 | &-on {
172 | > .action {
173 | @if $cancel-width != map-get($suggest, cancel-width) {
174 | margin-right: $cancel-width;
175 | }
176 | }
177 | }
178 | }
179 | > .cont {
180 | @if $mask-bgcolor != map-get($suggest, mask-bgcolor) {
181 | background-color: rgba($mask-bgcolor, .9);
182 | }
183 | }
184 | // 增量扩展
185 | @content;
186 | }
187 | }
188 |
189 | // 调用本文件时载入suggest基础构造
190 | .yo-suggest {
191 | @include _suggest;
192 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-switch.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-switch.html)
12 | * @method yo-switch
13 | * @param {default | String} $name 定义switch名称
14 | * @param {default | Color} $checked-bordercolor 定义switch激活边框色
15 | * @param {default | Color} $checked-bgcolor 定义switch激活背景色
16 | * @param {default | Color} $bordercolor 定义switch边框色
17 | * @param {default | Color} $bgcolor 定义switch背景色
18 | * @param {default | Color} $ball-color 定义switch滑块色
19 | */
20 |
21 | @mixin yo-switch(
22 | $name: default,
23 | $checked-bordercolor: default,
24 | $checked-bgcolor: default,
25 | $bordercolor: default,
26 | $bgcolor: default,
27 | $ball-color: default) {
28 | // 区别是否新增实例还是修改本身
29 | @if $name == default {
30 | $name: "";
31 | } @else {
32 | $name: "-#{$name}";
33 | }
34 | // 如果值为default,则取config的定义
35 | @if $bordercolor == default {
36 | $bordercolor: map-get($switch, bordercolor);
37 | }
38 | @if $bgcolor == default {
39 | $bgcolor: map-get($switch, bgcolor);
40 | }
41 | @if $ball-color == default {
42 | $ball-color: map-get($switch, ball-color);
43 | }
44 | @if $checked-bordercolor == default {
45 | $checked-bordercolor: map-get($switch, checked-bordercolor);
46 | }
47 | @if $checked-bgcolor == default {
48 | $checked-bgcolor: map-get($switch, checked-bgcolor);
49 | }
50 | .yo-switch#{$name} {
51 | > .track {
52 | @if $bordercolor != map-get($switch, bordercolor) {
53 | border-color: $bordercolor;
54 | }
55 | @if $bgcolor != map-get($switch, bgcolor) {
56 | background-color: $bgcolor;
57 | }
58 | > .handle {
59 | @if $ball-color != map-get($switch, ball-color) {
60 | background-color: $ball-color;
61 | }
62 | }
63 | }
64 | > input:checked + .track {
65 | @if $checked-bordercolor != map-get($switch, checked-bordercolor) {
66 | border-color: $checked-bordercolor;
67 | }
68 | @if $checked-bgcolor != map-get($switch, checked-bgcolor) {
69 | background-color: $checked-bgcolor;
70 | }
71 | }
72 | // 增量扩展
73 | @content;
74 | }
75 | }
76 |
77 | // 调用本文件时载入switch基础构造
78 | .yo-switch {
79 | @include _switch;
80 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-switchable.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-switchable.html)
12 | * @method yo-switchable
13 | * @param {default | String} $name 扩展的名称
14 | * @param {default | Boolen} $has-btn 是否有按钮
15 | * @param {default | Length} $btn-size 按钮大小
16 | * @param {default | Length} $btn-bgcolor 按钮背景色
17 | * @param {default | Length} $btn-color 按钮文本色
18 | * @param {default | Color} $btn-active-bgcolor 按钮按下背景色
19 | * @param {default | Length} $btn-active-color 按钮按下文本色
20 | * @param {default | Length} $index-size 索引大小
21 | * @param {default | Color} $index-bgcolor 索引背景色
22 | * @param {default | Length} $index-on-bgcolor 索引当前项背景色
23 | */
24 |
25 | @mixin yo-switchable(
26 | $name: default,
27 | $has-btn: default,
28 | $btn-size: default,
29 | $btn-bgcolor: default,
30 | $btn-color: default,
31 | $btn-active-bgcolor: default,
32 | $btn-active-color: default,
33 | $index-size: default,
34 | $index-bgcolor: default,
35 | $index-on-bgcolor: default) {
36 | // 区别是否新增实例还是修改本身
37 | @if $name == default {
38 | $name: "";
39 | } @else {
40 | $name: "-#{$name}";
41 | }
42 | // 如果值为default,则取config的定义
43 | @if $has-btn == default {
44 | $has-btn: map-get($switchable, has-btn);
45 | }
46 | @if $btn-size == default {
47 | $btn-size: map-get($switchable, btn-size);
48 | }
49 | @if $btn-bgcolor == default {
50 | $btn-bgcolor: map-get($switchable, btn-bgcolor);
51 | }
52 | @if $btn-color == default {
53 | $btn-color: map-get($switchable, btn-color);
54 | }
55 | @if $btn-active-bgcolor == default {
56 | $btn-active-bgcolor: map-get($switchable, btn-active-bgcolor);
57 | }
58 | @if $btn-active-color == default {
59 | $btn-active-color: map-get($switchable, btn-active-color);
60 | }
61 | @if $index-size == default {
62 | $index-size: map-get($switchable, index-size);
63 | }
64 | @if $index-bgcolor == default {
65 | $index-bgcolor: map-get($switchable, index-bgcolor);
66 | }
67 | @if $index-on-bgcolor == default {
68 | $index-on-bgcolor: map-get($switchable, index-on-bgcolor);
69 | }
70 | .yo-switchable#{$name} {
71 | > .index {
72 | > li {
73 | @if $index-size != map-get($switchable, index-size) {
74 | @include square($index-size);
75 | }
76 | @if $index-bgcolor != map-get($switchable, index-bgcolor) {
77 | background-color: $index-bgcolor;
78 | }
79 | &.on {
80 | @if $index-on-bgcolor != map-get($switchable, index-on-bgcolor) {
81 | background-color: $index-on-bgcolor;
82 | }
83 | }
84 | }
85 | }
86 | > .yo-ico {
87 | @if $has-btn != map-get($switchable, has-btn) {
88 | @if $has-btn == false {
89 | display: none;
90 | } @else {
91 | display: inline;
92 | }
93 | }
94 | @if $btn-size != map-get($switchable, btn-size) {
95 | @include square($btn-size);
96 | line-height: $btn-size;
97 | }
98 | @if $btn-bgcolor != map-get($switchable, btn-bgcolor) {
99 | background-color: $btn-bgcolor;
100 | }
101 | @if $btn-color != map-get($switchable, btn-color) {
102 | color: $btn-color;
103 | }
104 | &:active {
105 | @if $btn-active-bgcolor != map-get($switchable, btn-active-bgcolor) {
106 | background-color: $btn-active-bgcolor;
107 | }
108 | @if $btn-active-color != map-get($switchable, btn-active-color) {
109 | color: $btn-active-color;
110 | }
111 | }
112 | }
113 | // 增量扩展
114 | @content;
115 | }
116 | }
117 |
118 | // 调用本文件时载入switchableable基础构造
119 | .yo-switchable {
120 | @include _switchable;
121 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-tab.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-tab.html)
12 | * @method yo-tab
13 | * @param {default | String} $name 扩展的名称
14 | * @param {default | Length} $height 组件高度
15 | * @param {default | Length} $radius 圆角半径
16 | * @param {default | Length} $border-width 边框厚度
17 | * @param {default | Color} $bordercolor 边框色
18 | * @param {default | Color} $bgcolor 背景色
19 | * @param {default | Color} $color 文本色
20 | * @param {default | Color} $on-bgcolor 激活时背景色
21 | * @param {default | Color} $on-color 激活时文本色
22 | * @param {default | Color} $font-size 文本字号
23 | * @param {default | Color} $x-ico-size 子项内容为水平ico时,ico的大小
24 | * @param {default | Color} $y-ico-size 子项内容为垂直ico时,ico的大小
25 | * @param {default | Color} $only-ico-size 子项内容仅有ico时,ico的大小
26 | * @param {default | Length} $item-border-height 子项的间隔线高度
27 | * @param {default | Color} $item-bordercolor 子项的间隔线颜色
28 | */
29 |
30 | @mixin yo-tab(
31 | $name: default,
32 | $height: default,
33 | $radius: default,
34 | $border-width: default,
35 | $bordercolor: default,
36 | $bgcolor: default,
37 | $color: default,
38 | $on-bordercolor: default,
39 | $on-bgcolor: default,
40 | $on-color: default,
41 | $font-size: default,
42 | $x-ico-size: default,
43 | $y-ico-size: default,
44 | $only-ico-size: default,
45 | $item-border-height: default,
46 | $item-bordercolor: default) {
47 | // 区别是否新增实例还是修改本身
48 | @if $name == default {
49 | $name: "";
50 | } @else {
51 | $name: "-#{$name}";
52 | }
53 | // 如果值为default,则取config的定义
54 | @if $height == default {
55 | $height: map-get($tab, height);
56 | }
57 | @if $radius == default {
58 | $radius: map-get($tab, radius);
59 | }
60 | @if $border-width == default {
61 | $border-width: map-get($tab, border-width);
62 | }
63 | @if $bordercolor == default {
64 | $bordercolor: map-get($tab, bordercolor);
65 | }
66 | @if $bgcolor == default {
67 | $bgcolor: map-get($tab, bgcolor);
68 | }
69 | @if $color == default {
70 | $color: map-get($tab, color);
71 | }
72 | @if $on-bordercolor == default {
73 | $on-bordercolor: map-get($tab, on-bordercolor);
74 | }
75 | @if $on-bgcolor == default {
76 | $on-bgcolor: map-get($tab, on-bgcolor);
77 | }
78 | @if $on-color == default {
79 | $on-color: map-get($tab, on-color);
80 | }
81 | @if $font-size == default {
82 | $font-size: map-get($tab, font-size);
83 | }
84 | @if $x-ico-size == default {
85 | $x-ico-size: map-get($tab, x-ico-size);
86 | }
87 | @if $y-ico-size == default {
88 | $y-ico-size: map-get($tab, y-ico-size);
89 | }
90 | @if $only-ico-size == default {
91 | $only-ico-size: map-get($tab, only-ico-size);
92 | }
93 | @if $item-border-height == default {
94 | $item-border-height: map-get($tab, item-border-height);
95 | }
96 | @if $item-bordercolor == default {
97 | $item-bordercolor: map-get($tab, item-bordercolor);
98 | }
99 | .yo-tab#{$name} {
100 | @if $height != map-get($tab, height) {
101 | height: $height;
102 | line-height: $height;
103 | }
104 | // 如果边框色与config值不同,则重设边框色
105 | @if $radius != map-get($tab, radius) {
106 | border-radius: $radius;
107 | }
108 | @if $border-width != map-get($tab, border-width) {
109 | border-width: $border-width;
110 | }
111 | @if $bordercolor != map-get($tab, bordercolor) {
112 | border-color: $bordercolor;
113 | }
114 | @if $bgcolor != map-get($tab, bgcolor) {
115 | background-color: $bgcolor;
116 | }
117 | @if $font-size != map-get($tab, font-size) and map-get($tab, font-size) != map-get($base, font-size) {
118 | font-size: $font-size;
119 | }
120 | > .item {
121 | &:not(:last-child)::after {
122 | @if $item-border-height != map-get($tab, item-border-height) {
123 | height: $item-border-height;
124 | }
125 | @if $item-bordercolor != map-get($tab, item-bordercolor) {
126 | background-color: $item-bordercolor;
127 | }
128 | }
129 | @if $color != map-get($tab, color) {
130 | color: $color;
131 | }
132 | &.item-on {
133 | @if $on-bgcolor != map-get($tab, on-bgcolor) {
134 | background-color: $on-bgcolor;
135 | }
136 | @if $on-color != map-get($tab, on-color) {
137 | color: $on-color;
138 | }
139 | }
140 | &-top-ico {
141 | .yo-ico {
142 | @if $y-ico-size != map-get($tab, y-ico-size) {
143 | font-size: $y-ico-size;
144 | }
145 | }
146 | }
147 | &-left-ico {
148 | .yo-ico {
149 | @if $x-ico-size != map-get($tab, x-ico-size) {
150 | font-size: $x-ico-size;
151 | }
152 | }
153 | }
154 | &-only-ico {
155 | .yo-ico {
156 | @if $only-ico-size != map-get($tab, only-ico-size) {
157 | font-size: $only-ico-size;
158 | }
159 | }
160 | }
161 | }
162 | // 增量扩展
163 | @content;
164 | }
165 | }
166 |
167 | // 调用本文件时载入tab基础构造
168 | .yo-tab {
169 | @include _tab;
170 | }
--------------------------------------------------------------------------------
/src/styles/lib/widget/yo-tip.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "classes";
3 |
4 | /**
5 | * @class widget
6 | */
7 |
8 | /**
9 | * 构造列表的自定义使用方法
10 | -----------------------
11 | * 使用方法,详见 [Demo](http://doyoe.github.io/Yo/demo/widget/yo-tip.html)
12 | * @method yo-tip
13 | * @param {default | String} $name 定义yo-tip名称
14 | * @param {default | Length} $padding 定义yo-tip内补白
15 | * @param {default | Length} $radius 定义yo-tip圆角
16 | * @param {default | Color} $bgcolor 定义yo-tip背景色
17 | * @param {default | Color} $color 定义yo-tip文本色
18 | */
19 |
20 | @mixin yo-tip(
21 | $name: default,
22 | $padding: default,
23 | $radius: default,
24 | $bgcolor: default,
25 | $color: default) {
26 | // 区别是否新增实例还是修改本身
27 | @if $name == default {
28 | $name: "";
29 | } @else {
30 | $name: "-#{$name}";
31 | }
32 | // 如果值为default,则取config的定义
33 | @if $padding == default {
34 | $padding: map-get($tip, padding);
35 | }
36 | @if $radius == default {
37 | $radius: map-get($tip, radius);
38 | }
39 | @if $bgcolor == default {
40 | $bgcolor: map-get($tip, bgcolor);
41 | }
42 | @if $color == default {
43 | $color: map-get($tip,color);
44 | }
45 | .yo-tip#{$name} {
46 | @if $padding != map-get($tip, padding) {
47 | padding: $padding;
48 | }
49 | @if $radius != map-get($tip, radius) {
50 | border-radius: $radius;
51 | }
52 | @if $bgcolor != map-get($tip, bgcolor) {
53 | background-color: rgba($bgcolor, .5);
54 | }
55 | @if $color != map-get($tip, color) {
56 | color: $color;
57 | }
58 | // 增量扩展
59 | @content;
60 | }
61 | }
62 |
63 | // 调用本文件时载入tip基础构造
64 | .yo-tip {
65 | @include _tip;
66 | }
--------------------------------------------------------------------------------
/src/styles/usage/app.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | @import "./layout/layout.scss";
3 | @import "./core/swiper-3.3.1.min.css";
4 |
5 | // Views
6 | @import "./modules/home.scss";
7 | @import "./modules/index.scss";
8 | @import "./modules/nav.scss";
9 |
10 |
--------------------------------------------------------------------------------
/src/styles/usage/core/common.scss:
--------------------------------------------------------------------------------
1 | $font-heiti-light: Heiti SC Light, Helvetica Neue, Helvetica, STHeiTi, sans-serif;
2 | $font-heiti-medium: Heiti SC Medium, Heiti SC Light, Helvetica Neue, Helvetica, STHeiTi, sans-serif;
3 |
4 | $base-color: #EA4438;
5 |
6 | @font-face {
7 | font-family: yofont;
8 | src: url("/mywebapp/images/iconfonts/iconfont.woff") format("woff"), url("/mywebapp/images/iconfonts/iconfont.ttf") format("truetype");
9 | }
10 |
11 | @font-face {
12 | font-family: yofont;
13 | src: url("/mywebapp/images/iconfonts/footer.woff") format("woff"), url("/mywebapp/images/iconfonts/footer.ttf") format("truetype");
14 | }
15 | @font-face {
16 | font-family: yofont;
17 | src: url("/mywebapp/images/iconfonts/navmore.woff") format("woff"), url("/mywebapp/images/iconfonts/navmore.ttf") format("truetype");
18 | }
--------------------------------------------------------------------------------
/src/styles/usage/core/reset.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 |
3 | @import "../../lib/core/reset";
4 | @import "config";
5 | @import "common";
6 |
--------------------------------------------------------------------------------
/src/styles/usage/layout/layout.scss:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 |
3 | // Import
4 | @import "../core/reset";
5 |
6 | // Config
7 | spa-app {
8 | position: absolute;
9 | overflow: hidden;
10 | }
11 |
12 | spa-view {
13 | position: absolute;
14 | z-index: 0;
15 | top: 0;
16 | left: 0;
17 | bottom: 0;
18 | width: 100%;
19 | //background: #eceef0 !important;
20 | @include flexbox(flex);
21 | @include flex-direction(column);
22 | }
23 |
--------------------------------------------------------------------------------
/src/styles/usage/modules/home.scss:
--------------------------------------------------------------------------------
1 | .m-index-container {
2 | @include flexbox();
3 | header {
4 | width: 100%;
5 | height: 0.44rem;
6 | background: rgba(255,255,255,0.8);
7 | ul {
8 | width: 100%;
9 | height: 0.44rem;
10 | @include flexbox();
11 | li:not(:nth-child(2)) {
12 | width: 0.44rem;
13 | text-align: center;
14 | line-height: 0.44rem;
15 | font-size: 0.26rem;
16 | color: rgba(0,0,0,0.8);
17 | }
18 | li:nth-child(2) {
19 | @include flex();
20 | text-align: center;
21 | line-height: 0.44rem;
22 | font-size: 0.23rem;
23 | }
24 | }
25 | }
26 | section {
27 | @include flex();
28 | width: 100%;
29 | //height: 100%;
30 | overflow: hidden;
31 | >div {
32 |
33 | .swiper-container {
34 | width: 100%;
35 | height: 1.5rem;
36 | .swiper-slide {
37 | width: 100%;
38 | height: 100%;
39 | }
40 | img {
41 | width: 100%;
42 | height: 100%;
43 | }
44 | }
45 | table {
46 | @include flex();
47 | width: 100%;
48 | background: #fff;
49 | border-collapse: collapse;
50 | border-spacing: 0;
51 | tr {
52 | @include flexbox();
53 | td {
54 | @include flex();
55 | @include border(1px, #d6d6d6);
56 | i,b {
57 | width: 100%;
58 | @include align-items(center);
59 | @include justify-content(center);
60 | }
61 | i {
62 | height: 60%;
63 | //@include border(1px, #d6d6d6,solid,50%);
64 | img {
65 | width: 100%;
66 | padding: 0.1rem;
67 | text-align: center;
68 | @include border(1px, #d6d6d6,solid,50%);
69 | @include box-sizing(border-box);
70 | }
71 | }
72 | b {
73 | display: block;
74 | margin-bottom: 0.06rem;
75 | height: 40%;
76 | text-align: center;
77 | font-weight: 500;
78 | overflow : hidden;
79 | text-overflow: ellipsis;
80 | display: -webkit-box;
81 | -webkit-line-clamp: 1;
82 | -webkit-box-orient: vertical;
83 | }
84 | &.hidden{
85 | visibility: hidden;
86 | }
87 | }
88 | }
89 | }
90 |
91 | // pull to refresh
92 | .head {
93 | margin-top: .05rem;
94 | text-align: center;
95 | }
96 | /*.head img {
97 | height: .16rem;
98 | width: .16rem;
99 | display: inline-block;
100 | transform: rotate(180deg);
101 | -webkit-transform: rotate(180deg);
102 | transition: transform 150ms;
103 | -webkit-transition: transform 150ms;
104 | }
105 | .up {
106 | transform: rotate(360deg) !important;
107 | -webkit-transform: rotate(360deg) !important;
108 | }
109 | .foot {
110 | text-align: center;
111 | margin: .05rem 0;
112 | }
113 | .foot img {
114 | height: .16rem;
115 | width: .16rem;
116 | display: inline-block;
117 | //transform: rotate(0deg);
118 | //-webkit-transform: rotate(0deg);
119 | transition: transform 150ms;
120 | -webkit-transition: transform 150ms;
121 | }
122 | .down {
123 | transform: rotate(180deg) !important;
124 | -webkit-transform: rotate(180deg) !important;
125 | }*/
126 | }
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/src/styles/usage/modules/index.scss:
--------------------------------------------------------------------------------
1 | // 首页样式: index.string
2 | .m-index {
3 | width: 100%;
4 | height: 100%;
5 | @include flexbox();
6 | @include flex-direction(column);
7 | .m-index-container{
8 | @include flex();
9 | width: 100%;
10 | position: relative;
11 | }
12 | footer {
13 | width: 100%;
14 | height: 0.44rem;
15 | background: #fff;
16 | @include border(1px 0 0 0, #d6d6d6);
17 | ul {
18 | width: 100%;
19 | height: 100%;
20 | @include flexbox();
21 | li {
22 | @include flex();
23 | @include flexbox();
24 | @include flex-direction(column);
25 | @include align-items(center);
26 | @include justify-content(center);
27 | &:nth-child(3) {
28 | position: relative;
29 | i {
30 | display: block;
31 | @include border(1px, red, solid, 50%);
32 | bottom: 0;
33 | left: 50%;
34 | position: absolute !important;
35 | //border: 0.01rem solid red;
36 | // border-radius: 50%;
37 | width: 0.55rem;
38 | height: 0.55rem;
39 | background: #fff;
40 | z-index: 9999;
41 | line-height: 0.55rem;
42 | font-size: 0.38rem;
43 | color: $base-color;
44 | @include transform(translate(-50%));
45 | }
46 | }
47 | &.active {
48 | b,
49 | i {
50 | color: $base-color;
51 | }
52 | }
53 | b,
54 | i {
55 | display: block;
56 | color: #666;
57 | width: 100%;
58 | text-align: center;
59 | }
60 | i {
61 | font-size: 0.2rem;
62 | line-height: 0.2rem;
63 | }
64 | b {
65 | font-size: 0.12rem;
66 | }
67 | }
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/src/styles/usage/modules/nav.scss:
--------------------------------------------------------------------------------
1 | /*.m-index-container {
2 | header{
3 | width: 100%;
4 | height: .44rem;
5 | background: rgba(255,255,255,1);
6 | @include border(1px, #d6d6d6);
7 | text-align: center;
8 | line-height: .44rem;
9 | font-weight: 600;
10 | font-size: .23rem;
11 | }
12 | section{
13 | @include flex();
14 | width: 100%;
15 | overflow: hidden;
16 | .nav-scroll-div{
17 | background: #fff;
18 | ul{
19 | width: 100%;
20 | li{
21 | width: 100%;
22 | height: .35rem;
23 | @include border(1px, #d6d6d6);
24 | @include flexbox();
25 | span{
26 | display: block;
27 | width: .35rem;
28 | height: .35rem;
29 | img{
30 | width: 100%;
31 | height: 100%;
32 |
33 | }
34 | }
35 |
36 |
37 | }
38 | div{
39 | @include flex();
40 | }
41 | }
42 | }
43 | }
44 | }
45 | }*/
--------------------------------------------------------------------------------