├── README.md
├── demo1
├── Readme.md
├── images
│ ├── arrow.png
│ ├── bg.png
│ ├── bg1.png
│ ├── bg2.png
│ ├── border-shading1.png
│ ├── border-shading2.png
│ ├── border.png
│ ├── border1.png
│ ├── border2.png
│ ├── connect-linear.png
│ ├── current_period.png
│ ├── final-border1.png
│ ├── final-border2.png
│ ├── final-footer-left.png
│ ├── final-footer-right.png
│ ├── final-title.png
│ ├── footer-left-shading.png
│ ├── footer-left.png
│ ├── footer-middle-shading.png
│ ├── footer-right-shading.png
│ ├── footer-right.png
│ ├── home-head-right.png
│ ├── home-right-shading.png
│ ├── home-top-shading.png
│ ├── home_bg.png
│ ├── left-border.png
│ ├── liner1.png
│ ├── logo.png
│ ├── middle.png
│ ├── occupy-img.png
│ ├── previous_period.png
│ ├── right-border.png
│ ├── static-border.png
│ ├── static_data1.png
│ ├── static_data2.png
│ ├── static_data3.png
│ ├── static_data4.png
│ ├── static_level1.png
│ ├── static_level2.png
│ ├── static_level3.png
│ └── title.png
├── operation-report.jpg
├── operation-report.psd
├── package-lock.json
├── package.json
└── src
│ ├── css
│ ├── animate.min.css
│ ├── index.css
│ └── swiper-3.4.2.min.css
│ ├── index.html
│ ├── js
│ ├── index.js
│ ├── jquery.min.js
│ ├── rem.js
│ ├── swiper-3.4.2.min.js
│ └── swiper.animate1.0.2.min.js
│ └── mock-data
│ ├── mock-server.js
│ └── mock.json
├── demo2
├── README.md
├── a.mp3
├── css
│ └── index.css
├── imgs
│ ├── 4-1.png
│ ├── 4-2.png
│ ├── background.png
│ ├── big1.png
│ ├── big2.png
│ ├── big3.png
│ ├── big4.png
│ ├── big5.png
│ ├── big6.png
│ ├── download.png
│ ├── downloadBtn.png
│ ├── gamelose.png
│ ├── gamerule.png
│ ├── giftbox.png
│ ├── have-award.jpg
│ ├── have-award1.png
│ ├── index.png
│ ├── inputimg.png
│ ├── invite.png
│ ├── jump_award.png
│ ├── loading3.gif
│ ├── lv1.png
│ ├── lv2.png
│ ├── lv3.png
│ ├── no-award.png
│ ├── note.png
│ ├── num1.png
│ ├── num2.png
│ ├── num3.png
│ ├── openbox.png
│ ├── pass.png
│ ├── restart.png
│ ├── return.png
│ ├── share.png
│ ├── startgame.png
│ ├── sure.png
│ ├── titlep.png
│ ├── winnbg.png
│ ├── yes.png
│ ├── youxishuoming1.png
│ └── zhidaole.png
├── index.html
└── js
│ ├── index.js
│ ├── jquery.min.js
│ ├── loading.js
│ └── rem.js
├── demo3
├── README.md
├── css
│ └── index.css
├── dist
│ └── bundle.js
├── images
│ ├── 200.gif
│ ├── header-border.png
│ ├── header_bg.png
│ ├── person.png
│ └── person_1.png
├── index.html
├── js
│ ├── index.js
│ └── rem.js
├── mock
│ ├── mock.json
│ ├── update.json
│ └── vote.js
├── package-lock.json
├── package.json
└── webpack.config.js
├── demo4
├── .gitignore
├── README.md
├── css
│ └── index.css
├── data.json
├── design.jpg
├── index.html
├── js
│ └── index.js
├── package-lock.json
├── package.json
└── person.js
└── demo5
├── README.md
├── css
├── font-awesome.min.css
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── fontawesome-webfont.woff2
└── index.css
├── font-awesome-4.7.0
├── HELP-US-OUT.txt
├── css
│ ├── font-awesome.css
│ └── font-awesome.min.css
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── fontawesome-webfont.woff2
├── less
│ ├── animated.less
│ ├── bordered-pulled.less
│ ├── core.less
│ ├── fixed-width.less
│ ├── font-awesome.less
│ ├── icons.less
│ ├── larger.less
│ ├── list.less
│ ├── mixins.less
│ ├── path.less
│ ├── rotated-flipped.less
│ ├── screen-reader.less
│ ├── stacked.less
│ └── variables.less
└── scss
│ ├── _animated.scss
│ ├── _bordered-pulled.scss
│ ├── _core.scss
│ ├── _fixed-width.scss
│ ├── _icons.scss
│ ├── _larger.scss
│ ├── _list.scss
│ ├── _mixins.scss
│ ├── _path.scss
│ ├── _rotated-flipped.scss
│ ├── _screen-reader.scss
│ ├── _stacked.scss
│ ├── _variables.scss
│ └── font-awesome.scss
├── images
├── logo.png
├── zjnews_back_icon@2x.png
├── zjnews_back_icon@3x.png
├── zjnews_phone@2x.png
├── zjnews_phone@3x.png
├── zjnews_web@2x.png
└── zjnews_web@3x.png
└── index.html
/README.md:
--------------------------------------------------------------------------------
1 | # h5-demo
2 | this is my jobs project demo(h5 page)
3 |
4 | ### 内容
5 | 这里是一些h5活动界面的demo
6 |
7 | 每个demo都添加了演示地址,可以在demo的readme文档中看到。
8 |
9 | 同时本人会附上每次所使用的插件,希望对于学习h5技术的人有一定的帮助
10 |
11 | ### 结尾
12 |
13 | 对于你的成长的帮助,是我工作最大的动力。如果你喜欢我的项目,请给我一个star
14 |
--------------------------------------------------------------------------------
/demo1/Readme.md:
--------------------------------------------------------------------------------
1 | # 这是一个运营报告类的h5界面
2 |
3 | # 所使用的插件:
4 |
5 | 1. [swiper(v3.0)](http://www.swiper.com.cn/);
6 | 插件cdn地址:
7 |
8 | ```html
9 |
10 | //swiper.min.css
11 |
12 |
13 |
14 | //animate.min.css
15 |
16 |
17 | //swiper.min.js
18 |
19 |
20 |
21 | //swiper.animate.min.js需要下载并未有cdn
22 | ```
23 | 2. jquery
24 | 3. 后台使用了mock数据: [mock数据](http://www.lhbzimo.cn:5000)
25 |
26 | demo演示地址:
27 |
28 | **[demo地址](http://www.lhbzimo.cn/operation-report/src/index.html)**
29 |
30 | 二维码:
31 |
32 | 
33 |
34 | 效果图:
35 |
36 | 
37 |
--------------------------------------------------------------------------------
/demo1/images/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/arrow.png
--------------------------------------------------------------------------------
/demo1/images/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/bg.png
--------------------------------------------------------------------------------
/demo1/images/bg1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/bg1.png
--------------------------------------------------------------------------------
/demo1/images/bg2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/bg2.png
--------------------------------------------------------------------------------
/demo1/images/border-shading1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/border-shading1.png
--------------------------------------------------------------------------------
/demo1/images/border-shading2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/border-shading2.png
--------------------------------------------------------------------------------
/demo1/images/border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/border.png
--------------------------------------------------------------------------------
/demo1/images/border1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/border1.png
--------------------------------------------------------------------------------
/demo1/images/border2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/border2.png
--------------------------------------------------------------------------------
/demo1/images/connect-linear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/connect-linear.png
--------------------------------------------------------------------------------
/demo1/images/current_period.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/current_period.png
--------------------------------------------------------------------------------
/demo1/images/final-border1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/final-border1.png
--------------------------------------------------------------------------------
/demo1/images/final-border2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/final-border2.png
--------------------------------------------------------------------------------
/demo1/images/final-footer-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/final-footer-left.png
--------------------------------------------------------------------------------
/demo1/images/final-footer-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/final-footer-right.png
--------------------------------------------------------------------------------
/demo1/images/final-title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/final-title.png
--------------------------------------------------------------------------------
/demo1/images/footer-left-shading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/footer-left-shading.png
--------------------------------------------------------------------------------
/demo1/images/footer-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/footer-left.png
--------------------------------------------------------------------------------
/demo1/images/footer-middle-shading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/footer-middle-shading.png
--------------------------------------------------------------------------------
/demo1/images/footer-right-shading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/footer-right-shading.png
--------------------------------------------------------------------------------
/demo1/images/footer-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/footer-right.png
--------------------------------------------------------------------------------
/demo1/images/home-head-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/home-head-right.png
--------------------------------------------------------------------------------
/demo1/images/home-right-shading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/home-right-shading.png
--------------------------------------------------------------------------------
/demo1/images/home-top-shading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/home-top-shading.png
--------------------------------------------------------------------------------
/demo1/images/home_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/home_bg.png
--------------------------------------------------------------------------------
/demo1/images/left-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/left-border.png
--------------------------------------------------------------------------------
/demo1/images/liner1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/liner1.png
--------------------------------------------------------------------------------
/demo1/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/logo.png
--------------------------------------------------------------------------------
/demo1/images/middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/middle.png
--------------------------------------------------------------------------------
/demo1/images/occupy-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/occupy-img.png
--------------------------------------------------------------------------------
/demo1/images/previous_period.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/previous_period.png
--------------------------------------------------------------------------------
/demo1/images/right-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/right-border.png
--------------------------------------------------------------------------------
/demo1/images/static-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static-border.png
--------------------------------------------------------------------------------
/demo1/images/static_data1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_data1.png
--------------------------------------------------------------------------------
/demo1/images/static_data2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_data2.png
--------------------------------------------------------------------------------
/demo1/images/static_data3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_data3.png
--------------------------------------------------------------------------------
/demo1/images/static_data4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_data4.png
--------------------------------------------------------------------------------
/demo1/images/static_level1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_level1.png
--------------------------------------------------------------------------------
/demo1/images/static_level2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_level2.png
--------------------------------------------------------------------------------
/demo1/images/static_level3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/static_level3.png
--------------------------------------------------------------------------------
/demo1/images/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/images/title.png
--------------------------------------------------------------------------------
/demo1/operation-report.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/operation-report.jpg
--------------------------------------------------------------------------------
/demo1/operation-report.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo1/operation-report.psd
--------------------------------------------------------------------------------
/demo1/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "operation-report",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.3",
9 | "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz",
10 | "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
11 | "requires": {
12 | "mime-types": "2.1.16",
13 | "negotiator": "0.6.1"
14 | }
15 | },
16 | "any-promise": {
17 | "version": "1.3.0",
18 | "resolved": "http://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz",
19 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
20 | },
21 | "array-flatten": {
22 | "version": "1.1.1",
23 | "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
24 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
25 | },
26 | "co": {
27 | "version": "4.6.0",
28 | "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
29 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
30 | },
31 | "content-disposition": {
32 | "version": "0.5.2",
33 | "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz",
34 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
35 | },
36 | "content-type": {
37 | "version": "1.0.2",
38 | "resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.2.tgz",
39 | "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
40 | },
41 | "cookie": {
42 | "version": "0.3.1",
43 | "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
44 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
45 | },
46 | "cookie-signature": {
47 | "version": "1.0.6",
48 | "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
49 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
50 | },
51 | "cookies": {
52 | "version": "0.7.0",
53 | "resolved": "http://registry.npm.taobao.org/cookies/download/cookies-0.7.0.tgz",
54 | "integrity": "sha1-C8lh2RDDUlSYD8fJ7/XaEgEbvwA=",
55 | "requires": {
56 | "depd": "1.1.1",
57 | "keygrip": "1.0.1"
58 | }
59 | },
60 | "debug": {
61 | "version": "3.0.0",
62 | "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.0.0.tgz",
63 | "integrity": "sha1-HS/q5TNJBHsIsmTsQZBroXqFFuQ=",
64 | "requires": {
65 | "ms": "2.0.0"
66 | }
67 | },
68 | "deep-equal": {
69 | "version": "1.0.1",
70 | "resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
71 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
72 | },
73 | "delegates": {
74 | "version": "1.0.0",
75 | "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
76 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
77 | },
78 | "depd": {
79 | "version": "1.1.1",
80 | "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
81 | "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
82 | },
83 | "destroy": {
84 | "version": "1.0.4",
85 | "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
86 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
87 | },
88 | "ee-first": {
89 | "version": "1.1.1",
90 | "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
91 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
92 | },
93 | "encodeurl": {
94 | "version": "1.0.1",
95 | "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz",
96 | "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
97 | },
98 | "error-inject": {
99 | "version": "1.0.0",
100 | "resolved": "http://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz",
101 | "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc="
102 | },
103 | "escape-html": {
104 | "version": "1.0.3",
105 | "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
106 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
107 | },
108 | "etag": {
109 | "version": "1.8.0",
110 | "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.0.tgz",
111 | "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
112 | },
113 | "express": {
114 | "version": "4.15.4",
115 | "resolved": "http://registry.npm.taobao.org/express/download/express-4.15.4.tgz",
116 | "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=",
117 | "requires": {
118 | "accepts": "1.3.3",
119 | "array-flatten": "1.1.1",
120 | "content-disposition": "0.5.2",
121 | "content-type": "1.0.2",
122 | "cookie": "0.3.1",
123 | "cookie-signature": "1.0.6",
124 | "debug": "3.0.0",
125 | "depd": "1.1.1",
126 | "encodeurl": "1.0.1",
127 | "escape-html": "1.0.3",
128 | "etag": "1.8.0",
129 | "finalhandler": "1.0.4",
130 | "fresh": "0.5.0",
131 | "merge-descriptors": "1.0.1",
132 | "methods": "1.1.2",
133 | "on-finished": "2.3.0",
134 | "parseurl": "1.3.1",
135 | "path-to-regexp": "1.7.0",
136 | "proxy-addr": "1.1.5",
137 | "qs": "6.5.0",
138 | "range-parser": "1.2.0",
139 | "send": "0.15.4",
140 | "serve-static": "1.12.4",
141 | "setprototypeof": "1.0.3",
142 | "statuses": "1.3.1",
143 | "type-is": "1.6.15",
144 | "utils-merge": "1.0.0",
145 | "vary": "1.1.1"
146 | }
147 | },
148 | "finalhandler": {
149 | "version": "1.0.4",
150 | "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz",
151 | "integrity": "sha1-GFdPLnxLmLiuOyMMIfIB8xvbP7c=",
152 | "requires": {
153 | "debug": "3.0.0",
154 | "encodeurl": "1.0.1",
155 | "escape-html": "1.0.3",
156 | "on-finished": "2.3.0",
157 | "parseurl": "1.3.1",
158 | "statuses": "1.3.1",
159 | "unpipe": "1.0.0"
160 | }
161 | },
162 | "forwarded": {
163 | "version": "0.1.0",
164 | "resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.0.tgz",
165 | "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M="
166 | },
167 | "fresh": {
168 | "version": "0.5.0",
169 | "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.0.tgz",
170 | "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
171 | },
172 | "http-assert": {
173 | "version": "1.3.0",
174 | "resolved": "http://registry.npm.taobao.org/http-assert/download/http-assert-1.3.0.tgz",
175 | "integrity": "sha1-oxpc+IyHPsu1eWkH1NbxMujAHko=",
176 | "requires": {
177 | "deep-equal": "1.0.1",
178 | "http-errors": "1.6.2"
179 | }
180 | },
181 | "http-errors": {
182 | "version": "1.6.2",
183 | "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz",
184 | "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
185 | "requires": {
186 | "depd": "1.1.1",
187 | "inherits": "2.0.3",
188 | "setprototypeof": "1.0.3",
189 | "statuses": "1.3.1"
190 | }
191 | },
192 | "inherits": {
193 | "version": "2.0.3",
194 | "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
195 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
196 | },
197 | "ipaddr.js": {
198 | "version": "1.4.0",
199 | "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz",
200 | "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
201 | },
202 | "is-generator-function": {
203 | "version": "1.0.6",
204 | "resolved": "http://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.6.tgz",
205 | "integrity": "sha1-nnFlPNFf/zQcecQVFGChMdMen8Q="
206 | },
207 | "isarray": {
208 | "version": "0.0.1",
209 | "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
210 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
211 | },
212 | "keygrip": {
213 | "version": "1.0.1",
214 | "resolved": "http://registry.npm.taobao.org/keygrip/download/keygrip-1.0.1.tgz",
215 | "integrity": "sha1-sC+kgW7vIajEs1yp5Skh/8iaMOk="
216 | },
217 | "koa": {
218 | "version": "2.3.0",
219 | "resolved": "http://registry.npm.taobao.org/koa/download/koa-2.3.0.tgz",
220 | "integrity": "sha1-nh6OTaQBg5xXuFJ+rcV/dhJ1Vac=",
221 | "requires": {
222 | "accepts": "1.3.3",
223 | "content-disposition": "0.5.2",
224 | "content-type": "1.0.2",
225 | "cookies": "0.7.0",
226 | "debug": "3.0.0",
227 | "delegates": "1.0.0",
228 | "depd": "1.1.1",
229 | "destroy": "1.0.4",
230 | "error-inject": "1.0.0",
231 | "escape-html": "1.0.3",
232 | "fresh": "0.5.0",
233 | "http-assert": "1.3.0",
234 | "http-errors": "1.6.2",
235 | "is-generator-function": "1.0.6",
236 | "koa-compose": "4.0.0",
237 | "koa-convert": "1.2.0",
238 | "koa-is-json": "1.0.0",
239 | "mime-types": "2.1.16",
240 | "on-finished": "2.3.0",
241 | "only": "0.0.2",
242 | "parseurl": "1.3.1",
243 | "statuses": "1.3.1",
244 | "type-is": "1.6.15",
245 | "vary": "1.1.1"
246 | }
247 | },
248 | "koa-compose": {
249 | "version": "4.0.0",
250 | "resolved": "http://registry.npm.taobao.org/koa-compose/download/koa-compose-4.0.0.tgz",
251 | "integrity": "sha1-KAClE9nDYe8NY4UrA45Pby1adzw="
252 | },
253 | "koa-convert": {
254 | "version": "1.2.0",
255 | "resolved": "http://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz",
256 | "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
257 | "requires": {
258 | "co": "4.6.0",
259 | "koa-compose": "3.2.1"
260 | },
261 | "dependencies": {
262 | "koa-compose": {
263 | "version": "3.2.1",
264 | "resolved": "http://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz",
265 | "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
266 | "requires": {
267 | "any-promise": "1.3.0"
268 | }
269 | }
270 | }
271 | },
272 | "koa-is-json": {
273 | "version": "1.0.0",
274 | "resolved": "http://registry.npm.taobao.org/koa-is-json/download/koa-is-json-1.0.0.tgz",
275 | "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ="
276 | },
277 | "koa-route": {
278 | "version": "3.2.0",
279 | "resolved": "http://registry.npm.taobao.org/koa-route/download/koa-route-3.2.0.tgz",
280 | "integrity": "sha1-dimLmaa8+p44yrb+XHmocz51i84=",
281 | "requires": {
282 | "debug": "3.0.0",
283 | "methods": "1.1.2",
284 | "path-to-regexp": "1.7.0"
285 | }
286 | },
287 | "media-typer": {
288 | "version": "0.3.0",
289 | "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
290 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
291 | },
292 | "merge-descriptors": {
293 | "version": "1.0.1",
294 | "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
295 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
296 | },
297 | "methods": {
298 | "version": "1.1.2",
299 | "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
300 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
301 | },
302 | "mime": {
303 | "version": "1.3.4",
304 | "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz",
305 | "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
306 | },
307 | "mime-db": {
308 | "version": "1.29.0",
309 | "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.29.0.tgz",
310 | "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
311 | },
312 | "mime-types": {
313 | "version": "2.1.16",
314 | "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.16.tgz",
315 | "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
316 | "requires": {
317 | "mime-db": "1.29.0"
318 | }
319 | },
320 | "ms": {
321 | "version": "2.0.0",
322 | "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
323 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
324 | },
325 | "negotiator": {
326 | "version": "0.6.1",
327 | "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
328 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
329 | },
330 | "on-finished": {
331 | "version": "2.3.0",
332 | "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
333 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
334 | "requires": {
335 | "ee-first": "1.1.1"
336 | }
337 | },
338 | "only": {
339 | "version": "0.0.2",
340 | "resolved": "http://registry.npm.taobao.org/only/download/only-0.0.2.tgz",
341 | "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q="
342 | },
343 | "parseurl": {
344 | "version": "1.3.1",
345 | "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.1.tgz",
346 | "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
347 | },
348 | "path-to-regexp": {
349 | "version": "1.7.0",
350 | "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
351 | "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
352 | "requires": {
353 | "isarray": "0.0.1"
354 | }
355 | },
356 | "proxy-addr": {
357 | "version": "1.1.5",
358 | "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz",
359 | "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=",
360 | "requires": {
361 | "forwarded": "0.1.0",
362 | "ipaddr.js": "1.4.0"
363 | }
364 | },
365 | "qs": {
366 | "version": "6.5.0",
367 | "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.0.tgz",
368 | "integrity": "sha1-jQSVTTZN7z78VbWgeT4eLIsebkk="
369 | },
370 | "range-parser": {
371 | "version": "1.2.0",
372 | "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
373 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
374 | },
375 | "send": {
376 | "version": "0.15.4",
377 | "resolved": "http://registry.npm.taobao.org/send/download/send-0.15.4.tgz",
378 | "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=",
379 | "requires": {
380 | "debug": "3.0.0",
381 | "depd": "1.1.1",
382 | "destroy": "1.0.4",
383 | "encodeurl": "1.0.1",
384 | "escape-html": "1.0.3",
385 | "etag": "1.8.0",
386 | "fresh": "0.5.0",
387 | "http-errors": "1.6.2",
388 | "mime": "1.3.4",
389 | "ms": "2.0.0",
390 | "on-finished": "2.3.0",
391 | "range-parser": "1.2.0",
392 | "statuses": "1.3.1"
393 | }
394 | },
395 | "serve-static": {
396 | "version": "1.12.4",
397 | "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.12.4.tgz",
398 | "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=",
399 | "requires": {
400 | "encodeurl": "1.0.1",
401 | "escape-html": "1.0.3",
402 | "parseurl": "1.3.1",
403 | "send": "0.15.4"
404 | }
405 | },
406 | "setprototypeof": {
407 | "version": "1.0.3",
408 | "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz",
409 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
410 | },
411 | "statuses": {
412 | "version": "1.3.1",
413 | "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz",
414 | "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
415 | },
416 | "type-is": {
417 | "version": "1.6.15",
418 | "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz",
419 | "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
420 | "requires": {
421 | "media-typer": "0.3.0",
422 | "mime-types": "2.1.16"
423 | }
424 | },
425 | "unpipe": {
426 | "version": "1.0.0",
427 | "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
428 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
429 | },
430 | "utils-merge": {
431 | "version": "1.0.0",
432 | "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz",
433 | "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
434 | },
435 | "vary": {
436 | "version": "1.1.1",
437 | "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz",
438 | "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
439 | }
440 | }
441 | }
442 |
--------------------------------------------------------------------------------
/demo1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "operation-report",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "start": "node ./src/mock-data/mock-server.js"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "express": "^4.15.4",
15 | "koa": "^2.3.0",
16 | "koa-route": "^3.2.0"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demo1/src/css/index.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | position: relative;
3 | height: 100%;
4 | }
5 | body {
6 | background: #eee;
7 | font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
8 | font-size: 14px;
9 | color:#000;
10 | margin: 0;
11 | padding: 0;
12 | }
13 | .swiper-container {
14 | width: 100%;
15 | height: 100%;
16 | }
17 | .swiper-slide {
18 | font-size: 14px;
19 | background: #fff;
20 | color: #4afdbe;
21 | }
22 |
23 | .bground{
24 | background-image: url('../../images/bg.png');
25 | background-size: 100% 100%;
26 | }
27 |
28 | .arrow{
29 | position: absolute;
30 | bottom: .4rem;
31 | width: .54rem;
32 | height: .88rem;
33 | margin-left: -.27rem;
34 | left: 50%;
35 | z-index: 2;
36 | background-image: url('../../images/arrow.png');
37 | background-size: 100% 100%;
38 | }
39 |
40 | .bground header{
41 | width: 100%;
42 | position: relative;
43 | padding-top: .45rem;
44 | }
45 |
46 | .bground header .title{
47 | margin-left: .35rem;
48 | font-size: 24px;
49 | height: .55rem;
50 | line-height: .55rem;
51 | color: #4afdbe;
52 | text-align: left;
53 | }
54 |
55 | .bground footer .footer-left{
56 | float: left;
57 | margin-top: .4rem;
58 | width: 2.34rem;
59 | height: .4rem;
60 | background-image: url('../../images/footer-left.png');
61 | background-size: 100% 100%;
62 | }
63 |
64 | .bground footer .footer-right{
65 | float: right;
66 | margin-top: .2rem;
67 | width: 2.24rem;
68 | height: .35rem;
69 | background-image: url('../../images/footer-right.png');
70 | background-size: 100% 100%;
71 | }
72 |
73 |
74 |
75 | /* home part */
76 |
77 | .home {
78 | width: 100%;
79 | height: 100%;
80 | padding-top: .01rem;
81 | }
82 |
83 | .home header{
84 | width: 100%;
85 | height: auto;
86 | overflow: hidden;
87 | position: relative;
88 | padding-top: 0;
89 | }
90 |
91 | .home header::after{
92 | content: '';
93 | display: block;
94 | clear: both;
95 | }
96 |
97 | .home header .top-left-shading{
98 | float: left;
99 | width: 3.12rem;
100 | height: 2.11rem;
101 | background-image: url('../../images/home-top-shading.png');
102 | background-size: 100% 100%;
103 | }
104 |
105 | .home header .top-right-shading{
106 | float: right;
107 | position: absolute;
108 | bottom: 0;
109 | right: .24rem;
110 | width: 1.22rem;
111 | height: 1.22rem;
112 | background-image: url('../../images/home-head-right.png');
113 | background-size: 100% 100%;
114 | }
115 |
116 | .home .middle{
117 | width: 100%;
118 | padding-top: .29rem;
119 | height: auto;
120 | position: relative;
121 | overflow: hidden;
122 | }
123 |
124 | .home .middle .content-top{
125 | width: 100%;
126 | height: .45rem;
127 | position: relative;
128 | }
129 |
130 | .home .middle .content-top .logo{
131 | float: left;
132 | margin-top: .1rem;
133 | margin-left: 1.17rem;
134 | width: 2.34rem;
135 | height: 0.34rem;
136 | background-image: url('../../images/logo.png');
137 | background-size: 100% 100%;
138 | }
139 |
140 | .home .middle .content-top .middle-shading{
141 | width: 1.9rem;
142 | height: .45rem;
143 | float: right;
144 | background-image: url('../../images/home-right-shading.png');
145 | background-size: 100% 100%;
146 | }
147 |
148 | .home .middle .title{
149 | width: 4.57rem;
150 | height: 1.18rem;
151 | margin-top: .1rem;
152 | margin-left: 1.01rem;
153 | background-image: url('../../images/title.png');
154 | background-size: 100% 100%;
155 | }
156 |
157 | .home .middle .time{
158 | width: 100%;
159 | height: auto;
160 | padding-top: .27rem;
161 | position: relative;
162 | }
163 |
164 | .home .middle .time::after{
165 | content: "";
166 | display: block;
167 | clear: both;
168 | }
169 |
170 | .home .middle .time .left-border{
171 | background-image: url('../../images/left-border.png');
172 | background-size: 100% 100%;
173 | width: 2.82rem;
174 | height: .98rem;
175 | float: left;
176 | }
177 |
178 | .home .middle .time .middle-border{
179 | position: absolute;
180 | top: .47rem;
181 | left: .8rem;
182 | width: 5.08rem;
183 | height: .63rem;
184 | background-image: url('../../images/border.png');
185 | background-size: 100% 100%;
186 | text-align: center;
187 | line-height: .63rem;
188 | color: #4afdbe;
189 | }
190 |
191 | .home .middle .time .right-border{
192 | float: right;
193 | margin-top: .28rem;
194 | width: 1.72rem;
195 | height: 1.12rem;
196 | background-image: url('../../images/right-border.png');
197 | background-size: 100% 100%;
198 | }
199 |
200 | .home footer{
201 | width: 100%;
202 | height: 100%;
203 | position: relative;
204 | }
205 |
206 | .home footer .footer-left-shading{
207 | width: .61rem;
208 | height: 2.99rem;
209 | float: left;
210 | margin-left: .56rem;
211 | margin-top: .6rem;
212 | background-image: url('../../images/footer-left-shading.png');
213 | background-size: 100% 100%;
214 | }
215 |
216 | .home footer .footer-middle-shading{
217 | margin-left: .2rem;
218 | margin-top: -.31rem;
219 | width: 1.4rem;
220 | height: 4.57rem;
221 | float: left;
222 | background-image: url('../../images/footer-middle-shading.png');
223 | background-size: 100% 100%;
224 | }
225 |
226 | .home footer .footer-right-shading{
227 | width: 3.33rem;
228 | height: 3.49rem;
229 | float: right;
230 | margin-top: .78rem;
231 | background-image: url('../../images/footer-right-shading.png');
232 | background-size: 100% 100%;
233 | }
234 |
235 |
236 |
237 | /* traffic static part */
238 |
239 | .traffic-static{
240 | width: 100%;
241 | height: 100%;
242 | position: relative;
243 | }
244 |
245 | .traffic-static header{
246 | width: 100%;
247 | padding-top: .6rem;
248 | }
249 |
250 | .traffic-static header .title{
251 | width: 3.75rem;
252 | height: 1.2rem;
253 | margin-left: .6rem;
254 | }
255 |
256 | .traffic-static header .title p{
257 | margin: 0;
258 | font-size: 14px;
259 | text-align: left;
260 | color: #ceffe3;
261 | line-height: .4rem;
262 | }
263 |
264 | .traffic-static .middle{
265 | width: 5.99rem;
266 | height: 6.2rem;
267 | margin: .7rem auto 0;
268 | background-image: url('../../images/static-border.png');
269 | background-size: 100% 100%;
270 | position: relative;
271 | }
272 |
273 | .traffic-static .middle .number{
274 | width: 100%;
275 | margin-left: .24rem;
276 | }
277 |
278 | .traffic-static .middle .number span:first-child{
279 | font-size: 24px;
280 | }
281 |
282 | .traffic-static .middle .number span:last-child{
283 | font-size: 14px;
284 | color: #ceffe3;
285 | }
286 |
287 | .traffic-static .middle .static-content{
288 | width: 100%;
289 | display: flex;
290 | }
291 |
292 | .traffic-static .middle .static-content .static-level{
293 | margin-left: .56rem;
294 | width: .46rem;
295 | }
296 |
297 | .traffic-static .middle .static-content .static-level .static-level1{
298 | width: .46rem;
299 | height: .46rem;
300 | margin-top: .9rem;
301 | background-image: url('../../images/static_level1.png');
302 | background-size: 100% 100%;
303 | }
304 |
305 | .traffic-static .middle .static-content .static-level .static-level2{
306 | width: .46rem;
307 | height: .46rem;
308 | margin-top: .9rem;
309 | background-image: url('../../images/static_level2.png');
310 | background-size: 100% 100%;
311 | }
312 |
313 | .traffic-static .middle .static-content .static-level .static-level3{
314 | width: .46rem;
315 | height: .46rem;
316 | margin-top: .5rem;
317 | background-image: url('../../images/static_level3.png');
318 | background-size: 100% 100%;
319 | }
320 |
321 | .traffic-static .middle .static-content .static-period{
322 | margin-left: .15rem;
323 | flex: 0 0 1.6rem;
324 | position: relative;
325 | overflow: hidden;
326 | height: 5.6rem;
327 | margin-right: .15rem;
328 | }
329 |
330 |
331 | .traffic-static .middle .static-content .static-period .static-proccess{
332 | width: 100%;
333 | display: flex;
334 | align-items: flex-end;
335 | position: absolute;
336 | bottom: 1.1rem;
337 | }
338 |
339 | .static-content .static-period .static-proccess .proccess-content{
340 | width: .76rem;
341 | }
342 |
343 | .static-content .static-period .static-proccess .proccess-content:nth-child(2n){
344 | margin-left: .04rem;
345 | }
346 |
347 | .static-content .static-period .static-proccess .proccess-content .number{
348 | font-size: 12px;
349 | text-align: center;
350 | margin: 0;
351 | }
352 |
353 | .proccess-content .block{
354 | width: .76rem;
355 | height: .09rem;
356 | background: #4afdbe;
357 | margin-top: .02rem;
358 | margin-bottom: .02rem;
359 | }
360 |
361 | .static-content .previous-period{
362 | width: 1.22rem;
363 | height: .34rem;
364 | background-image: url('../../images/previous_period.png');
365 | background-size: 100% 100%;
366 | position: absolute;
367 | left: 50%;
368 | margin-left: -.61rem;
369 | bottom: .65rem;
370 | }
371 |
372 | .static-content .current-period{
373 | width: 1.22rem;
374 | height: .34rem;
375 | background-image: url('../../images/current_period.png');
376 | background-size: 100% 100%;
377 | position: absolute;
378 | left: 50%;
379 | margin-left: -.61rem;
380 | bottom: .65rem;
381 | }
382 |
383 | .traffic-static .middle .static-content .final-part{
384 | width: 100%;
385 | padding: .5rem .2rem;
386 | box-sizing: border-box;
387 | }
388 |
389 | .traffic-static .middle .static-content .final-part .daily-static{
390 | font-size: 14px;
391 | text-align: center;
392 | color: #ceffe3;
393 | margin-top: 2.3rem;
394 | padding-left: .05rem;
395 | width: .6rem;
396 | margin-left: .15rem;
397 | }
398 |
399 |
400 | /* Top 10 */
401 |
402 | .popularity-part{
403 | width: 100%;
404 | height: 100%;
405 | position: relative;
406 | }
407 |
408 | .popularity-part .middle{
409 | width: 100%;
410 | position: relative;
411 | overflow: hidden;
412 | }
413 |
414 | .popularity-part .middle .middle-content{
415 | width: 100%;
416 | position: relative;
417 | list-style: none;
418 | padding: 0 .35rem;
419 | box-sizing: border-box;
420 | margin: 0;
421 | }
422 |
423 | .popularity-part .middle .middle-content .activity{
424 | width: 100%;
425 | background-image: url('../../images/border1.png');
426 | height: 1.5rem;
427 | background-size: 100% 100%;
428 | margin-bottom: .05rem;
429 | padding: .35rem .4rem;
430 | box-sizing: border-box;
431 | text-align: left;
432 | }
433 |
434 | .popularity-part .middle .activity .content{
435 | display: inline-block;
436 | width: 3.45rem;
437 | height: 100%;
438 | vertical-align: top;
439 | }
440 |
441 | .popularity-part .middle .activity .content p{
442 | height: .5rem;
443 | color: #4afdbe;
444 | font-size: 14px;
445 | margin: 0;
446 | }
447 |
448 | .popularity-part .middle .activity .line{
449 | margin-left: .05rem;
450 | margin-right: .1rem;
451 | height: 100%;
452 | display: inline-block;
453 | width: 1px;
454 | background-color: #4afdbe;
455 | vertical-align: top;
456 | }
457 |
458 | .popularity-part .middle .activity .number{
459 | display: inline-block;
460 | height: 100%;
461 | vertical-align: top;
462 | }
463 |
464 | .popularity-part .middle .activity .number p{
465 | height: .5rem;
466 | color: #4afdbe;
467 | font-size: 14px;
468 | margin: 0;
469 | }
470 |
471 |
472 |
473 | /* hot activity part */
474 |
475 | .hot-activity{
476 | width: 100%;
477 | height: 100%;
478 | position: relative;
479 | }
480 |
481 | .hot-activity .middle{
482 | width: 100%;
483 | overflow: hidden;
484 | position: relative;
485 | padding: .24rem .35rem;
486 | box-sizing: border-box;
487 | }
488 |
489 | .hot-activity .middle .activity-title{
490 | font-size: 14px;
491 | color: #4afdbe;
492 | }
493 |
494 | .hot-activity .middle ul{
495 | list-style: none;
496 | margin: 0;
497 | padding: 0;
498 | padding-top: .3rem;
499 | }
500 |
501 | .hot-activity .middle ul li{
502 | display: inline-block;
503 | width: 2.55rem;
504 | height: 3.4rem;
505 | border: 1px solid #4afdbe;
506 | border-radius: 5%;
507 | }
508 |
509 |
510 | .hot-activity .middle ul li:last-child{
511 | margin-left: .3rem;
512 | }
513 |
514 | .hot-activity .middle ul li img{
515 | width: 100%;
516 | height: 100%;
517 | }
518 |
519 | .hot-activity .middle .introduction{
520 | margin-top: .45rem;
521 | font-size: 14px;
522 | color: #4afdbe;
523 | }
524 |
525 | .fen-rank{
526 | width: 100%;
527 | height: 100%;
528 | position: relative;
529 | }
530 |
531 | .fen-rank .middle{
532 | width: 100%;
533 | overflow: hidden;
534 | padding: .5rem .35rem 0;
535 | display: flex;
536 | box-sizing: border-box;
537 | }
538 |
539 | .fen-rank .middle .serial{
540 | margin-right: .1rem;
541 | text-align: center
542 | }
543 |
544 | .fen-rank .middle .gongzonghao{
545 | flex: 0 0 2.73rem;
546 | margin-right: .1rem;
547 | text-align: center
548 | }
549 |
550 | .fen-rank .middle .increase{
551 | flex: 1;
552 | text-align: center;
553 | }
554 |
555 | .fen-rank .middle .rank-group .title{
556 | font-size: 14px;
557 | color: #4afdbe;
558 | }
559 |
560 | .fen-rank .middle .rank-group ul{
561 | list-style: none;
562 | border: 1px solid #4afdbe;
563 | width: 100%;
564 | padding: 0;
565 | margin-top: .35rem;
566 | }
567 |
568 |
569 | .fen-rank .middle .rank-group .serial-number li{
570 | width: .35rem;
571 | margin: .15rem;
572 | border: 1px solid #4afdbe;
573 | text-align: center;
574 | vertical-align: middle;
575 | line-height: .4rem
576 | }
577 |
578 | .fen-rank .middle .rank-group ul li{
579 | margin-top: .19rem;
580 | margin-bottom: .19rem;
581 | line-height: .4rem;
582 | font-size: 14px;
583 | }
584 |
585 | .final .middle{
586 | padding-top: 0;
587 | }
588 |
589 | .final .middle .title{
590 | background-image: url('../../images/final-title.png');
591 | }
592 |
593 | .final .middle .content-title{
594 | width: 100%;
595 | height: .45rem;
596 | display: flex;
597 | margin-top: .27rem;
598 | }
599 |
600 | .final .middle .content-title .final-left-border{
601 | width: 1.94rem;
602 | height: .45rem;
603 | background: url('../../images/final-border1.png');
604 | background-size: 100% 100%;
605 | }
606 |
607 | .final .middle .content-title .final-right-border{
608 | width: 1.94rem;
609 | height: .45rem;
610 | background-image: url('../../images/final-border2.png');
611 | background-size: 100% 100%;
612 | }
613 |
614 | .final .middle .content-title .final-content-title{
615 | font-size: 20px;
616 | line-height: .45rem;
617 | }
618 |
619 | .final .middle .content{
620 | width: 100%;
621 | padding: .35rem .6rem;
622 | position: relative;
623 | box-sizing: border-box;
624 | }
625 |
626 | .final .middle .content .content-previous{
627 | background-image: url('../../images/middle.png');
628 | width: 5.08rem;
629 | height: .63rem;
630 | background-size: 100% 100%;
631 | text-align: center;
632 | vertical-align: middle;
633 | font-size: 15px;
634 | line-height: .63rem;
635 | }
636 |
637 | .final .middle .content .connect-linear{
638 | background-image: url('../../images/connect-linear.png');
639 | background-size: 100% 100%;
640 | width: .43rem;
641 | height: .43rem;
642 | margin: 0 auto;
643 | }
644 |
645 | .final footer .footer-left-shading{
646 | margin: 0;
647 | width: .51rem;
648 | height: 2.07rem;
649 | background-image: url('../../images/final-footer-left.png');
650 | }
651 |
652 | .final footer .footer-right-shading{
653 | margin: 0;
654 | width: 3.64rem;
655 | margin-top: .4rem;
656 | height: 1.68rem;
657 | background-image: url('../../images/final-footer-right.png');
658 | }
--------------------------------------------------------------------------------
/demo1/src/css/swiper-3.4.2.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Swiper 3.4.2
3 | * Most modern mobile touch slider and framework with hardware accelerated transitions
4 | *
5 | * http://www.idangero.us/swiper/
6 | *
7 | * Copyright 2017, Vladimir Kharlampidi
8 | * The iDangero.us
9 | * http://www.idangero.us/
10 | *
11 | * Licensed under MIT
12 | *
13 | * Released on: March 10, 2017
14 | */
15 | .swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}
--------------------------------------------------------------------------------
/demo1/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | test
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
42 |
43 |
44 |
48 |
49 |
50 |
52 |
53 |
54 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
83 |
84 |
85 |
89 |
90 |
91 |
92 |
93 |
94 |
97 |
101 |
105 |
106 |
107 |
108 |
109 |
110 |
113 |
117 |
121 |
122 |
123 |
124 |
125 |
126 |
129 |
130 |
131 |
132 | -
133 |
134 | -
135 |
136 |
137 |
138 |
139 |
143 |
144 |
145 |
146 |
147 |
148 |
151 |
168 |
172 |
173 |
174 |
175 |
176 |
177 |
180 |
181 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
--------------------------------------------------------------------------------
/demo1/src/js/index.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | console.log('ready');
3 |
4 | const swiper = new Swiper('.swiper-container',{
5 | onInit: function(swiper){
6 | swiperAnimateCache(swiper);
7 | swiperAnimate(swiper);
8 | },
9 | onSlideChangeEnd: function(swiper){
10 | swiperAnimate(swiper);
11 | },
12 | direction: 'vertical',
13 | nextButton: '.arrow'
14 | });
15 |
16 | function static(static = null){
17 | if(!static){
18 | return;
19 | }
20 | const { title, people, data} = static;
21 | const numberHtml = `${people}人次`;
22 | const titleHtml = `${title}
`;
23 | $('#people').html(numberHtml);
24 | $('.traffic-static header .title').html(titleHtml);
25 | const result = [];
26 | data.forEach((item, index) => {
27 | const num = Math.floor(item / 5000);
28 | const last = item / 5000 - num;
29 | let block = '';
30 | for(let i = 0; i < num; i++){
31 | block += ``;
32 | }
33 | block += `${item}
${block}
`;
35 | result.push(proccess);
36 | });
37 | $('.proccess-content').each((index, item) => {
38 | $(item).html(result[index]);
39 | });
40 | }
41 |
42 | function home(home = null){
43 | if(!home){
44 | return;
45 | }
46 | $('.middle-border').text(home.time);
47 | }
48 |
49 | function popularity(popularity = null){
50 | if(!popularity){
51 | return;
52 | }
53 | const { title, data } = popularity;
54 | $('#popularity .title').text(title);
55 | let html = '';
56 | data.forEach((item, index) => {
57 | html += `
58 |
59 |
${item.title}
60 |
公众号:${item.gongzhonghao}
61 |
62 |
63 |
64 |
参与人数
65 |
${item.number}
66 |
67 | `
68 | });
69 | $('#popularity .middle-content').html(html);
70 | }
71 |
72 | function top(top = null){
73 | if(!top){
74 | return;
75 | }
76 | const { title, data } = top;
77 | $('#top .title').text(title);
78 | let html = '';
79 | data.forEach((item, index) => {
80 | html += `
81 |
82 |
${item.title}
83 |
公众号:${item.gongzhonghao}
84 |
85 |
86 |
87 |
参与人数
88 |
${item.number}
89 |
90 | `
91 | });
92 | $('#top .middle-content').html(html);
93 | }
94 |
95 | function analysis(analysis = null){
96 | if(!analysis){
97 | return;
98 | }
99 | const { title, subtitle, imgs, content} = analysis;
100 | $('.hot-activity .title').text(title);
101 | $('.hot-activity .activity-title').text(subtitle);
102 | const defaultImage = '../images/occupy-img.png';
103 | $('.hot-activity .image').each((index, item) => {
104 | if(index > imgs.length){
105 | $(item).html(`
`);
106 | }else{
107 | $(item).html(`
`);
108 | }
109 | });
110 | $('.hot-activity .introduction').text(content);
111 | }
112 |
113 | function rank(rank = null){
114 | if(!rank) return;
115 | const { title, data } = rank;
116 | $('#fans').text(title);
117 | let serial = '';
118 | let gongzhonghao = '';
119 | let increase = '';
120 | data.forEach((item, index) => {
121 | serial += `${item.id}`;
122 | gongzhonghao += `${item.gongzhonghao}`;
123 | increase += `${item.number}`;
124 | });
125 | $('.serial-number').html(serial);
126 | $('.gongzhonghao-list').html(gongzhonghao);
127 | $('.increase-number').html(increase);
128 | }
129 |
130 | function final(final = null){
131 | if(!final) return;
132 | const { title, data } = final;
133 | $('.final-content-title').text(title);
134 | let html = '';
135 | data.forEach((item, index) => {
136 | if(index === 2){
137 | html += `${item}
`;
138 | return;
139 | }
140 | html += `${item}
141 | `;
142 | });
143 | $('.final .middle .content').html(html);
144 | }
145 |
146 | function init(data){
147 | home(data.home);
148 | static(data.static);
149 | popularity(data.popularity);
150 | top(data.top);
151 | analysis(data.analysis);
152 | rank(data.fans);
153 | final(data.final);
154 | }
155 |
156 | $.ajax({
157 | url: 'http://www.lhbzimo.cn:5000/',
158 | dataType: 'json',
159 | type: 'GET',
160 | data: {},
161 | success: function(data){
162 | init(data);
163 | },
164 | error: function(err, data){
165 | console.log('request timeout');
166 | }
167 | })
168 | });
--------------------------------------------------------------------------------
/demo1/src/js/rem.js:
--------------------------------------------------------------------------------
1 | (function(doc, win){
2 | const docEl = doc.documentElement;
3 | const resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
4 | const recale = function(){
5 | const width = docEl.clientWidth;
6 | if (!width) return;
7 | if(width > 750){
8 | docEl.style.fontSize = '100px';
9 | }else{
10 | docEl.style.fontSize = width / 6.4 + 'px';
11 | }
12 | };
13 |
14 | if(document.addEventListener){
15 | win.addEventListener(resizeEvt, recale, false);
16 | doc.addEventListener('DOMContentLoaded', recale, false);
17 | }
18 | })(document, window);
--------------------------------------------------------------------------------
/demo1/src/js/swiper.animate1.0.2.min.js:
--------------------------------------------------------------------------------
1 | //本插件由www.swiper.com.cn提供
2 | function swiperAnimateCache(){for(allBoxes=window.document.documentElement.querySelectorAll(".ani"),i=0;i {
8 | // ctx.set('Access-Control-Allow-Origin','*');
9 | // ctx.response.type = 'json';
10 | // ctx.response.body = fs.createReadStream(path.resolve(__dirname, 'mock.json'));
11 | // };
12 |
13 | // app.use(route.get('/', main));
14 |
15 | // app.listen(3000);
16 | const Express = require('express');
17 | const fs = require('fs');
18 | const path = require('path');
19 |
20 | const app = new Express();
21 |
22 | app.get('/', function(req, res){
23 | res.setHeader("Access-Control-Allow-Origin", "*");
24 | fs.readFile(path.resolve(__dirname, 'mock.json'), function(err, data){
25 | res.json(JSON.parse(data));
26 | });
27 | });
28 |
29 | app.listen(5000);
--------------------------------------------------------------------------------
/demo1/src/mock-data/mock.json:
--------------------------------------------------------------------------------
1 | {
2 | "home": {
3 | "time": "2016.07.01-07.31"
4 | },
5 | "static":{
6 | "title": "2016年7.01-7.31期间共进行微信线上运营活动58场累计吸引参与用户约",
7 | "people": 800924,
8 | "data":[62000,92000,82000,152000]
9 | },
10 | "popularity":{
11 | "title": "最具人气活动",
12 | "data": [
13 | {
14 | "title": "2016年6月“浙江好人” 投票",
15 | "gongzhonghao": "文明浙江",
16 | "number": 10900
17 | },
18 | {
19 | "title": "2016年6月“浙江好人” 投票",
20 | "gongzhonghao": "文明浙江",
21 | "number": 10900
22 | },
23 | {
24 | "title": "2016年6月“浙江好人” 投票",
25 | "gongzhonghao": "文明浙江",
26 | "number": 10900
27 | },
28 | {
29 | "title": "2016年6月“浙江好人” 投票",
30 | "gongzhonghao": "文明浙江",
31 | "number": 10900
32 | },
33 | {
34 | "title": "2016年6月“浙江好人” 投票",
35 | "gongzhonghao": "文明浙江",
36 | "number": 10900
37 | }
38 | ]
39 | },
40 | "top": {
41 | "title": "十佳人气活动",
42 | "data": [
43 | {
44 | "title": "2016年6月“浙江好人” 投票",
45 | "gongzhonghao": "文明浙江",
46 | "number": 10900
47 | },
48 | {
49 | "title": "2016年6月“浙江好人” 投票",
50 | "gongzhonghao": "文明浙江",
51 | "number": 10900
52 | },
53 | {
54 | "title": "2016年6月“浙江好人” 投票",
55 | "gongzhonghao": "文明浙江",
56 | "number": 10900
57 | },
58 | {
59 | "title": "2016年6月“浙江好人” 投票",
60 | "gongzhonghao": "文明浙江",
61 | "number": 10900
62 | },
63 | {
64 | "title": "2016年6月“浙江好人” 投票",
65 | "gongzhonghao": "文明浙江",
66 | "number": 10900
67 | }
68 | ]
69 | },
70 | "analysis": {
71 | "title": "热点活动分析",
72 | "subtitle": "“迎G20杭州峰会·看下沙新变化”分析",
73 | "imgs": ["https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQfzkfrDs4N6Esp7vFyla4pSeAv9RwplGUUwpnLNQPxpNc2xlZ_", "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQAz-pq_jA67iVeIijx1zqnFY7XadfGPaw-cB_b-OW1VGA4Q5IkJw"],
74 | "content": "活动介绍:为了与市民共同迎接G20杭州峰会的到来,杭州经济技术开发区管委会联合浙报集团杭州分社、浙江在线共同推出看新闻、找线索、开宝箱活动。从5月26日起,开发区推出线上寻宝活动,通过阅读四篇文章,找寻线索,就可以获得开启宝箱的密码。"
75 | },
76 | "fans": {
77 | "title": "粉丝增长榜",
78 | "data": [
79 | {
80 | "id":1,
81 | "gongzhonghao": "浙江禁毒",
82 | "number": 2332322
83 | },
84 | {
85 | "id":2,
86 | "gongzhonghao": "文明浙江",
87 | "number": 2332322
88 | },
89 | {
90 | "id":3,
91 | "gongzhonghao": "亲子去哪儿",
92 | "number": 2332322
93 | },
94 | {
95 | "id":4,
96 | "gongzhonghao": "嵊州发布",
97 | "number": 2332322
98 | },
99 | {
100 | "id":5,
101 | "gongzhonghao": "浙江健康教育",
102 | "number": 2332322
103 | },
104 | {
105 | "id":6,
106 | "gongzhonghao": "定海山",
107 | "number": 2332322
108 | },
109 | {
110 | "id":7,
111 | "gongzhonghao": "浙江手机报",
112 | "number": 2332322
113 | },
114 | {
115 | "id":8,
116 | "gongzhonghao": "品牌营销中心",
117 | "number": 2332322
118 | },
119 | {
120 | "id":9,
121 | "gongzhonghao": "青春浙江",
122 | "number": 2332322
123 | },
124 | {
125 | "id":10,
126 | "gongzhonghao": "浙江在线健康频道",
127 | "number": 2332322
128 | }
129 | ]
130 | },
131 | "final":{
132 | "title": "往期报告查询",
133 | "data": [
134 | "2016年6月第二期","2016年6月第一期","2016年5月第二期"
135 | ]
136 | }
137 | }
--------------------------------------------------------------------------------
/demo2/README.md:
--------------------------------------------------------------------------------
1 | # puzzle game
2 | **this is a puzzle game use canvas to draw**
3 |
4 | 拼图游戏
5 |
6 | 使用canvas进行每块图片进行绘制,游戏逻辑的判断,最后是游戏的结束。
7 |
8 | 详细的逻辑可以参考我的源码
9 |
10 | ### demo地址
11 | [拼图游戏](http://www.lhbzimo.cn/demo2/index.html)
12 |
13 | ### 二维码
14 |
15 | 
16 |
17 | ### 效果图
18 |
19 | 
20 |
--------------------------------------------------------------------------------
/demo2/a.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/a.mp3
--------------------------------------------------------------------------------
/demo2/css/index.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | }
5 |
6 | body{
7 | height: 100vh;
8 | position: relative;
9 | }
10 |
11 | audio{
12 | width: 0;
13 | height: 0;
14 | position: absolute;
15 |
16 | }
17 |
18 | #musicBtn{
19 | position: fixed;
20 | width: .93rem;
21 | height: .73rem;
22 | top: 2%;
23 | right: 3%;
24 | z-index: 99;
25 | }
26 |
27 |
28 |
29 | /* first part */
30 | .first-part{
31 | width: 100%;
32 | height: 100%;
33 | background-image: url('../imgs/index.png');
34 | background-size: 100% 100%;
35 | }
36 |
37 | /* button group */
38 | .first-part .btn_group{
39 | width: 100%;
40 | list-style: none;
41 | position: absolute;
42 | height: auto;
43 | bottom: 16%;
44 | }
45 |
46 | .first-part .btn_group .btn{
47 | float: left;
48 | width: 40%;
49 | position: relative;
50 | margin: 5%;
51 | }
52 |
53 | .first-part .btn_group .btn img{
54 | width: 100%;
55 | }
56 |
57 | .first-part .gamerule-part{
58 | display: none;
59 | position: absolute;
60 | height: 100%;
61 | width: 100%;
62 | z-index: 5;
63 | background-color: rgba(0, 0, 0, 0.7);
64 | }
65 |
66 | .gamerule-part .rule{
67 | width: 6.56rem;
68 | height: 7.29rem;
69 | margin: 1rem auto 0;
70 | display: block;
71 | }
72 |
73 | .gamerule-part .btn{
74 | width: 40%;
75 | position: relative;
76 | margin: 20px auto 0;
77 | }
78 |
79 | .gamerule-part .btn img{
80 | width: 100%;
81 | }
82 |
83 | /* game part */
84 |
85 | .game-part {
86 | height: 100vh;
87 | background-image: url(../imgs/background.png);
88 | background-size: 100% 100%;
89 | display: none;
90 | position: relative;
91 | }
92 |
93 | .second-part{
94 | width: 100%;
95 | position: relative;
96 | height: 100%;
97 | }
98 |
99 | .second-part .game-loading{
100 | position: absolute;
101 | width: 100%;
102 | height: 100%;
103 | top: 0;
104 | left: 0;
105 | background-color: rgba(0, 0, 0, 0.7);
106 | z-index: 10;
107 | }
108 |
109 | .second-part .game-loading img{
110 | width: 3.24rem;
111 | height: 3.24rem;
112 | position: relative;
113 | display: block;
114 | top: 50%;
115 | margin: -1.62rem auto 0;
116 | }
117 |
118 | .second-part header {
119 | width: 100%;
120 | height: 25%;
121 | position: relative;
122 | }
123 |
124 | .second-part header .source-image {
125 | height: 50%;
126 | float: left;
127 | margin-top: 10%;
128 | margin-left: 8%;
129 | border: 1px solid #ca4174;
130 | box-shadow: 0 0 10px black;
131 | }
132 |
133 | .second-part header .user-date {
134 | height: 100%;
135 | float: right;
136 | width: 50%;
137 | position: relative;
138 | }
139 |
140 | .second-part header .user-date .guanqia {
141 | height: 2.64rem;
142 | position: relative;
143 | margin-top: 10%;
144 | margin-right: 5%;
145 | float: right;
146 | }
147 |
148 | .second-part header .user-date .time{
149 | font-size: 22px;
150 | color: #ca4174;
151 | position: absolute;
152 | top: 0.9rem;
153 | left: 1.2rem;
154 | letter-spacing: 5px;
155 | text-shadow: 0 0 15px black;
156 | }
157 |
158 | .second-part canvas {
159 | width: 6.5rem;
160 | height: 6.5rem;
161 | border: 2px solid #ca4174;
162 | display: block;
163 | margin: 0.5rem auto 0;
164 | box-shadow: 0 0 10px black;
165 | }
166 |
167 | .game-over{
168 | padding-top: 1px;
169 | display: none;
170 | height: 100%;
171 | position: relative;
172 | background-color: rgba(0, 0, 0, 0.7);
173 | }
174 |
175 | .game-over .lose{
176 | width: 6.48rem;
177 | height: 5.58rem;
178 | display: block;
179 | margin: 2rem auto 0;
180 | }
181 |
182 | .game-over ul{
183 | list-style: none;
184 | width: 100%;
185 | margin: .2rem auto;
186 | }
187 |
188 | .game-over ul li{
189 | width: 50%;
190 | height: auto;
191 | float: left;
192 | text-align: center;
193 | }
194 |
195 | .game-over ul li img{
196 | width: 2.96rem;
197 | height: 0.94rem;
198 | }
199 |
200 | .game-over #share {
201 | position: absolute;
202 | width: 100%;
203 | height: 100%;
204 | top: 0;
205 | left: 0;
206 | display: none;
207 | }
208 |
209 | .game-success{
210 | display: none;
211 | width: 100%;
212 | height: 100%;
213 | position: relative;
214 | padding-top: 1px;
215 | text-align: center;
216 | }
217 |
218 | .game-success .win{
219 | width: 6.48rem;
220 | height: 5.58rem;
221 | margin-top: 1rem;
222 | }
223 |
224 | .game-success #open{
225 | width: 2.97rem;
226 | height: 0.94rem;
227 | margin-top: .2rem;
228 | }
229 |
--------------------------------------------------------------------------------
/demo2/imgs/4-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/4-1.png
--------------------------------------------------------------------------------
/demo2/imgs/4-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/4-2.png
--------------------------------------------------------------------------------
/demo2/imgs/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/background.png
--------------------------------------------------------------------------------
/demo2/imgs/big1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big1.png
--------------------------------------------------------------------------------
/demo2/imgs/big2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big2.png
--------------------------------------------------------------------------------
/demo2/imgs/big3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big3.png
--------------------------------------------------------------------------------
/demo2/imgs/big4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big4.png
--------------------------------------------------------------------------------
/demo2/imgs/big5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big5.png
--------------------------------------------------------------------------------
/demo2/imgs/big6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/big6.png
--------------------------------------------------------------------------------
/demo2/imgs/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/download.png
--------------------------------------------------------------------------------
/demo2/imgs/downloadBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/downloadBtn.png
--------------------------------------------------------------------------------
/demo2/imgs/gamelose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/gamelose.png
--------------------------------------------------------------------------------
/demo2/imgs/gamerule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/gamerule.png
--------------------------------------------------------------------------------
/demo2/imgs/giftbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/giftbox.png
--------------------------------------------------------------------------------
/demo2/imgs/have-award.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/have-award.jpg
--------------------------------------------------------------------------------
/demo2/imgs/have-award1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/have-award1.png
--------------------------------------------------------------------------------
/demo2/imgs/index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/index.png
--------------------------------------------------------------------------------
/demo2/imgs/inputimg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/inputimg.png
--------------------------------------------------------------------------------
/demo2/imgs/invite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/invite.png
--------------------------------------------------------------------------------
/demo2/imgs/jump_award.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/jump_award.png
--------------------------------------------------------------------------------
/demo2/imgs/loading3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/loading3.gif
--------------------------------------------------------------------------------
/demo2/imgs/lv1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/lv1.png
--------------------------------------------------------------------------------
/demo2/imgs/lv2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/lv2.png
--------------------------------------------------------------------------------
/demo2/imgs/lv3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/lv3.png
--------------------------------------------------------------------------------
/demo2/imgs/no-award.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/no-award.png
--------------------------------------------------------------------------------
/demo2/imgs/note.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/note.png
--------------------------------------------------------------------------------
/demo2/imgs/num1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/num1.png
--------------------------------------------------------------------------------
/demo2/imgs/num2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/num2.png
--------------------------------------------------------------------------------
/demo2/imgs/num3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/num3.png
--------------------------------------------------------------------------------
/demo2/imgs/openbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/openbox.png
--------------------------------------------------------------------------------
/demo2/imgs/pass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/pass.png
--------------------------------------------------------------------------------
/demo2/imgs/restart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/restart.png
--------------------------------------------------------------------------------
/demo2/imgs/return.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/return.png
--------------------------------------------------------------------------------
/demo2/imgs/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/share.png
--------------------------------------------------------------------------------
/demo2/imgs/startgame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/startgame.png
--------------------------------------------------------------------------------
/demo2/imgs/sure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/sure.png
--------------------------------------------------------------------------------
/demo2/imgs/titlep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/titlep.png
--------------------------------------------------------------------------------
/demo2/imgs/winnbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/winnbg.png
--------------------------------------------------------------------------------
/demo2/imgs/yes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/yes.png
--------------------------------------------------------------------------------
/demo2/imgs/youxishuoming1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/youxishuoming1.png
--------------------------------------------------------------------------------
/demo2/imgs/zhidaole.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo2/imgs/zhidaole.png
--------------------------------------------------------------------------------
/demo2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | html5 拼图游戏
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 |
35 |
36 |
37 |
38 |
39 |
40 |

41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |

49 |
00:60
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |

58 |
59 | -
60 |
61 |
62 | -
63 |
64 |
65 |
66 |

67 |
68 |
69 |
70 |

71 |

72 |
73 |
74 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/demo2/js/index.js:
--------------------------------------------------------------------------------
1 |
2 | //loading
3 |
4 | function playMusic(){ //播放或暂停音乐
5 | var music = document.getElementById('music');
6 | if(music.paused){
7 | $('#musicBtn').attr('src', './imgs/4-1.png');
8 | music.play();
9 | }else{
10 | $('#musicBtn').attr('src', './imgs/4-2.png');
11 | music.pause();
12 | }
13 | }
14 |
15 | $('#musicBtn').on('click', playMusic);
16 |
17 | //game rule
18 |
19 | $('#gamerule').on('click', function(){
20 | $('.gamerule-part').fadeIn();
21 | });
22 |
23 | $('#understand').on('click', function(){
24 | $('.gamerule-part').fadeOut();
25 | });
26 |
27 | $('#startgame').on('click', gameStart);
28 |
29 | function gameStart() {
30 | $('.first-part').fadeOut();
31 | $('.game-part').fadeIn();
32 |
33 | gameloading();
34 | gameInit();
35 | }
36 |
37 | function gameloading() { //游戏开始时的计时
38 | var url = ['./imgs/num1.png', './imgs/num2.png'];
39 | var count = 1;
40 | var timer = setInterval(function(){
41 | $('.loading-second').attr('src', url[count]);
42 | count--;
43 | }, 1000);
44 | setTimeout(function() {
45 | if(count < 0) {
46 | console.log('cleaner');
47 | clearInterval(timer);
48 | $('.game-loading').fadeOut();
49 | gameTime(time);
50 | }
51 | }, 3000);
52 | }
53 |
54 | //游戏主要逻辑部分
55 | const cvs = document.getElementById('canvas');
56 | const cxt = cvs.getContext('2d');
57 | const cvsWidth = cvs.width;
58 | const cvsHeight = cvs.height;
59 | const map = new Map();
60 | let level = 1,
61 | sourceImage = [
62 | './imgs/big1.png',
63 | './imgs/big2.png',
64 | './imgs/big3.png',
65 | './imgs/big4.png',
66 | './imgs/big5.png',
67 | './imgs/big6.png'
68 | ],
69 | targetImage = new Image(),
70 | imgWidth, imgHeight, pointArr, tileWidth, tileHeight, select = new Point(-1, -1), time = 60;
71 |
72 | function Point(x, y) {
73 | this.x = x;
74 | this.y = y;
75 | }
76 |
77 | function gameInit() { //初始化数组
78 | //get image
79 | let index = Math.floor(Math.random() * sourceImage.length);
80 | $('.source-image').attr('src', sourceImage[index]);
81 | targetImage.src = sourceImage[index];
82 | pointArr = getRandomArray(level);
83 | getMap(level);
84 | targetImage.onload = function() {
85 | drawImg(pointArr, level);
86 | }
87 | cvs.addEventListener('touchend', moveBlock, false);
88 | }
89 |
90 | function getMap(level) { //得到一个坐标与值的对应表
91 | map.clear();
92 | const num = level + 1;
93 | var count = 0;
94 | for(let i = 0; i < num; i++) {
95 | for( let j = 0; j < num; j++) {
96 | const point = new Point(i, j);
97 | const str = '' + i + '' + j;
98 | map.set(count, point);
99 | map.set(str, count);
100 | count++;
101 | }
102 | }
103 | }
104 |
105 | function getRandomArray(level){ //得到一个随机数组
106 | const res = [];
107 | const num = level + 1;
108 | let i = 0;
109 | while(true) {
110 | if( i >= num*num){
111 | if(judge(res)){
112 | i = 0;
113 | continue;
114 | }
115 | break;
116 | }
117 | let number = Math.floor(Math.random() * num * num);
118 | if(res.indexOf(number) === -1) {
119 | res.push(number);
120 | i++;
121 | }
122 | }
123 | return res;
124 | }
125 |
126 | function drawImg(arr, level) { //根据数组绘制图像
127 | const num = level + 1;
128 | imgWidth = targetImage.width / num;
129 | imgHeight = targetImage.height / num;
130 | tileWidth = cvsWidth / num;
131 | tileHeight = cvsHeight / num;
132 | let index = 0;
133 | for(let i = 0; i < num; i++) {
134 | for( let j = 0; j < num; j++) {
135 | const key = arr[index];
136 | const point = map.get(key);
137 | cxt.drawImage(targetImage, point.x * imgWidth, point.y * imgHeight, imgWidth, imgHeight, i * tileWidth, j * tileHeight, tileWidth, tileHeight);
138 | index++;
139 | }
140 | }
141 | }
142 |
143 | function moveBlock(event) {
144 | const ev = event || window.event;
145 | const touch = ev.changedTouches[0];
146 | const num = level + 1;
147 | const cvsSize = this.offsetWidth / num;
148 | const x = Math.floor((touch.pageX - this.offsetLeft) / cvsSize);
149 | const y = Math.floor((touch.pageY - this.offsetTop) / cvsSize);
150 | if(select.x === -1) {
151 | select.x = x;
152 | select.y = y;
153 | addRect(select);
154 | }else {
155 | const temp = '' + x + y;
156 | const index = map.get(temp);
157 | const other = '' + select.x + select.y;
158 | const selectIndex = map.get(other);
159 | const med = pointArr[index];
160 | pointArr[index] = pointArr[selectIndex];
161 | pointArr[selectIndex] = med;
162 | redraw(pointArr, level);
163 | select.x = -1;
164 | select.y = -1;
165 | if(judge(pointArr)) {
166 | if(level >= 3){
167 | cvs.removeEventListener('touchend', moveBlock, false);
168 | success();
169 | }
170 | level++;
171 | changeGuanqia(level);
172 | cvs.removeEventListener('touchend', moveBlock, false);
173 | gameInit();
174 | }
175 | }
176 | }
177 |
178 | function addRect(select) {
179 | cxt.strokeRect(select.x * imgWidth, select.y * imgHeight, tileWidth, tileHeight);
180 | }
181 |
182 | function redraw(arr, level) {
183 | cxt.clearRect(0, 0, cvsWidth, cvsHeight);
184 | drawImg(arr, level);
185 | }
186 |
187 | function judge(arr) {
188 | const num = level + 1;
189 | for( let i = 0; i < num * num - 1 ; i++) {
190 | if(arr[i] > arr[i+1]){
191 | return false;
192 | }
193 | }
194 | return true;
195 | }
196 |
197 | function changeGuanqia(level) {
198 | $('.guanqia').attr('src', `./imgs/lv${level}.png`);
199 | }
200 |
201 | function success() {
202 | $('.second-part').fadeOut();
203 | $('.game-success').fadeIn();
204 | }
205 |
206 | function gameTime(time) {
207 | var gameTimer = setInterval(function(){
208 | time--;
209 | if(time === 0) {
210 | clearInterval(gameTimer);
211 | gameover();
212 | level = 1;
213 | time = 60;
214 | changeGuanqia(level);
215 | }
216 | let str;
217 | if(time < 10){
218 | str = '00:0'+time;
219 | }else{
220 | str = '00:'+time;
221 | }
222 | $('.time').html(str);
223 | }, 1000)
224 | }
225 |
226 | function gameover() {
227 | $('.second-part').fadeOut();
228 | $('.game-over').fadeIn();
229 | }
230 |
231 | $('#restart').on('click', function(e){
232 | e.preventDefault();
233 | $('.game-over').fadeOut();
234 | $('.second-part').fadeIn();
235 | gameInit();
236 | gameTime(time);
237 | });
238 |
239 | $('#invite').on('click', function(){
240 | $('#share').fadeIn();
241 | });
242 |
243 | $('#share').on('click', function(e){
244 | $(this).fadeOut();
245 | });
246 |
247 | $('#open').on('click', function(e){
248 | const probability= Math.random();
249 | $('.game-success').fadeOut();
250 | if(probability >= 0.5) {
251 |
252 | }
253 | })
254 |
--------------------------------------------------------------------------------
/demo2/js/loading.js:
--------------------------------------------------------------------------------
1 | var loadingHtml = `
2 |
3 |

4 |
loading
5 |
6 |
`;
7 |
8 | document.write(loadingHtml);
9 |
10 | window.onload = function(){
11 | var loadingLayer = document.getElementsByClassName('refresh-layer')[0];
12 | loadingLayer.parentNode.removeChild(loadingLayer);
13 | }
--------------------------------------------------------------------------------
/demo2/js/rem.js:
--------------------------------------------------------------------------------
1 | // (function(doc, win) {
2 | // console.log(111);
3 | // var docEl = doc.documentElement;
4 | // var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
5 |
6 | // var recalc = function recalc() {
7 | // var clientWidth = document.clientWidth;
8 |
9 | // if(!clientWidth) return;
10 | // if(clientWidth > 750) {
11 | // docEl.style.fontSize = '100px';
12 | // console.log(11);
13 | // }else{
14 | // docEl.style.fontSize = clientWidth / 7.5 + 'px';
15 | // console.log(docEl.style.fontSize);
16 | // }
17 | // }
18 |
19 | // win.addEventListener(resizeEvt, recalc, false);
20 | // doc.addEventListener('DOMContentLoaded', recalc, false);
21 | // })(document, window);
22 |
23 | (function (doc, win) {
24 | var docEl = doc.documentElement,
25 | resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
26 |
27 | recalc = function () {
28 | var clientWidth = docEl.clientWidth;
29 | if (!clientWidth) return;
30 | if(clientWidth > 750){ //针对移动版的页面控制在750px内
31 | docEl.style.fontSize = '100px';
32 | }
33 | if(clientWidth <750){
34 | // docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
35 | docEl.style.fontSize = clientWidth/ 7.5+ 'px';
36 |
37 | }
38 |
39 |
40 | };
41 | if (!doc.addEventListener) return;
42 | win.addEventListener(resizeEvt, recalc, false);
43 | doc.addEventListener('DOMContentLoaded', recalc, false);
44 | })(document, window);
--------------------------------------------------------------------------------
/demo3/README.md:
--------------------------------------------------------------------------------
1 | # vote waterfall flow demo
2 |
3 | 这个h5的主要采用了上拉加载和下拉刷新的方式,来加载瀑布流的列表内容
4 |
5 | 主要使用了jQuery、better-scroll来进行列表的内容滚动
6 |
7 | ### 分享
8 |
9 | 这里两篇文章,是我在写上拉刷新和下拉加载时的分享,希望在参考源码的同时,也能够明白实现的原理
10 |
11 | [瀑布流列表的下拉刷新和上拉加载实现(上)](https://github.com/laizimo/zimo-article/issues/17)
12 |
13 | [瀑布流列表的下拉刷新和上拉加载实现(下)](https://github.com/laizimo/zimo-article/issues/20)
14 |
15 | ### demo的演示地址
16 |
17 | [demo地址](http://www.lhbzimo.cn/vote/index.html)
18 |
19 | ## 二维码
20 |
21 | 
22 |
23 | ## 效果图
24 |
25 | 
26 |
--------------------------------------------------------------------------------
/demo3/css/index.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | }
5 |
6 | html, body{
7 | font-size: 14px;
8 | }
9 |
10 | header{
11 | width: 100%;
12 | position: relative;
13 | padding-top: .32rem;
14 | padding-bottom: .36rem;
15 | background: url('../images/header_bg.png');
16 | background-size: cover;
17 | }
18 |
19 | header .time{
20 | font-size: 7px;
21 | color: #fff;
22 | text-align: center;
23 | width: 3.32rem;
24 | margin: 0 auto;
25 | line-height: .24rem;
26 | height: .24rem;
27 | margin-bottom: .05rem;
28 | }
29 |
30 | header .container{
31 | width: 4.45rem;
32 | height: 1.26rem;
33 | background: url('../images/header-border.png') no-repeat;
34 | background-size: 3.32rem 1.26rem;
35 | background-position: top 0 left .56rem;
36 | margin: 0 auto;
37 | padding-top: .2rem;
38 | text-align: center;
39 | }
40 |
41 | header .container .title{
42 | width: 100%;
43 | font-size: 18px;
44 | color: #fff;
45 | line-height: .4rem;
46 | height: .4rem;
47 | margin-bottom: .05rem;
48 | }
49 |
50 | header .container .subtitle{
51 | width: 100%;
52 | font-size: 9px;
53 | color: #fff;
54 | line-height: .2rem;
55 | height: .2rem;
56 | }
57 |
58 | nav{
59 | width: 100%;
60 | padding: .2rem 0 .1rem;
61 | display: flex;
62 | border: 1px solid rgba(7, 17, 27, 0.1);
63 | }
64 |
65 | nav .nav-item{
66 | flex: 1;
67 | text-align: center;
68 | font-size: 12px;
69 | border-right: 1px solid rgb(115, 121, 127);
70 | }
71 |
72 | nav .nav-item .number{
73 | font-weight: 700;
74 | }
75 |
76 | nav .nav-item:last-child{
77 | border: none;
78 | }
79 |
80 | .timer{
81 | width: 100%;
82 | height: .6rem;
83 | font-size: 12px;
84 | line-height: .6rem;
85 | background: #f3f5f7;
86 | }
87 |
88 | .timer .title{
89 | color: #666666;
90 | margin-left: .2rem;
91 | }
92 |
93 | .timer .time{
94 | color: #ff4d16;
95 | margin-left: .16rem;
96 | }
97 |
98 | #wrapper{
99 | position: absolute;
100 | top: 4rem;
101 | bottom: 0;
102 | width: 100%;
103 | overflow: hidden;
104 | }
105 |
106 | #pull-refresh{
107 | position: absolute;
108 | top: -1rem;
109 | width: 100%;
110 | z-index: -1;
111 | text-align: center;
112 | color: grey;
113 | }
114 |
115 | #pull-refresh .arrow{
116 | margin-top: .05rem;
117 | margin-bottom: .06rem;
118 | }
119 |
120 | #pull-refresh .arrow::after{
121 | content: '下拉刷新'
122 | }
123 |
124 | #pull-refresh .arrow.arrow_up::after{
125 | content: '松开更新'
126 | }
127 |
128 | .arrow_up img{
129 | transform: rotateZ(180deg);
130 | -webkit-transform: rotateZ(180deg);
131 | }
132 |
133 | .pull-refresh img{
134 | transition: transform .4s ease;
135 | width: 20px;
136 | }
137 |
138 | #toploading{
139 | display: none;
140 | width: 100px;
141 | height: 2rem;
142 | margin: 0 auto;
143 | }
144 |
145 | #toploading img{
146 | width: 2rem;
147 | height: 2rem;
148 | }
149 |
150 | .wrapper{
151 | overflow: scroll;
152 | width: 100%;
153 | position: relative;
154 | list-style: none;
155 | padding: 0;
156 | padding-top: .12rem;
157 | }
158 |
159 | .wrapper::after{
160 | content: "";
161 | display: block;
162 | clear: both;
163 | }
164 |
165 | .wrapper .list-wrapper{
166 | width: 50%;
167 | float: left;
168 | position: relative;
169 | }
170 |
171 | .wrapper .list-item{
172 | float: left;
173 | margin: 0 .13rem .21rem;
174 | width: 2.88rem;
175 | border: 1px solid rgba(7, 17, 27, 0.1);
176 | box-shadow: 0 0 .02rem rgb(115, 121, 127);
177 | position: relative;
178 | }
179 |
180 | .wrapper .list-item img{
181 | width: 100%;
182 | }
183 |
184 | .wrapper .list-item .name{
185 | font-size: 14px;
186 | font-weight: 700;
187 | }
188 |
189 | .wrapper .list-item .info{
190 | font-size: 12px;
191 | color: rgb(115, 121, 127);
192 | }
193 |
194 | .wrapper .list-item .info .vote{
195 | float: right;
196 | }
197 |
198 | .wrapper .list-item .info .vote .count{
199 | color: #ff4d16;
200 | }
201 |
202 | .wrapper .list-item .desc{
203 | font-size: 12px;
204 | color: #b4b4b4;
205 | }
206 |
207 | .wrapper .btn-group{
208 | width: 100%;
209 | padding: .2rem .1rem;
210 | }
211 |
212 | .wrapper .btn-group .btn{
213 | display: inline-block;
214 | outline: none;
215 | border: none;
216 | width: 1.26rem;
217 | height: .44rem;
218 | border-radius: 5%;
219 | font-size: 10px;
220 | line-height: .44rem;
221 | }
222 |
223 | .wrapper .btn-group .detail{
224 | border: 1px solid rgb(0, 160, 220);
225 | color: rgb(0, 160, 220);
226 | }
227 |
228 | .wrapper .btn-group .vote{
229 | background: rgb(0, 160, 220);
230 | color: #fff;
231 | }
232 |
233 | .loading{
234 | width: 100px;
235 | height: 2rem;
236 | text-align: center;
237 | margin: 0 auto;
238 | }
239 |
240 | .loading img{
241 | width: 2rem;
242 | }
243 |
244 | .bottom{
245 | display: none;
246 | text-align: center;
247 | width: 4rem;
248 | height: .2rem;
249 | color: gray;
250 | font-size: 10px;
251 | margin: -0.1rem auto;
252 | }
253 |
254 | .bottom .line{
255 | vertical-align: middle;
256 | display: inline-block;
257 | width: 30%;
258 | height: 1px;
259 | background: gray;
260 | }
261 |
--------------------------------------------------------------------------------
/demo3/images/200.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo3/images/200.gif
--------------------------------------------------------------------------------
/demo3/images/header-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo3/images/header-border.png
--------------------------------------------------------------------------------
/demo3/images/header_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo3/images/header_bg.png
--------------------------------------------------------------------------------
/demo3/images/person.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo3/images/person.png
--------------------------------------------------------------------------------
/demo3/images/person_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo3/images/person_1.png
--------------------------------------------------------------------------------
/demo3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | vote waterfall flow
8 |
9 |
10 |
11 |
20 |
34 |
35 | 第一轮投票剩余时间:3天23小时15分钟59秒
36 |
37 |
38 |
39 |
40 |
41 |

42 |
43 |
44 |
45 |

46 |
47 |
49 |
50 |
51 | 我是底线
52 |
53 |
54 |
55 |

56 |
57 |
58 |
59 |
60 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/demo3/js/index.js:
--------------------------------------------------------------------------------
1 | import BScroll from 'better-scroll';
2 | import Promise from 'es6-promise';
3 |
4 |
5 | (function ($, win, doc){
6 | const index = {
7 | config: {
8 | base_url: 'http://www.lhbzimo.cn:3001/',
9 | list_number: 0
10 | },
11 | data: {
12 | page: 1,
13 | next: false,
14 | status: 'ready',
15 | },
16 | init: function(){
17 | const _self = this;
18 |
19 |
20 | _self._initConfig();
21 | _self._initScroll();
22 | _self.operations = _self.createOperations();
23 |
24 |
25 | _self.load(_self.initHtml);
26 | _self.bind();
27 | },
28 | _initConfig: function(){
29 | const _self = this;
30 | const defaultListWidth = 320;
31 | const clientWidth = win.innerWidth || doc.documentElement.clientWidth;
32 | if(defaultListWidth > 750){
33 | _self.config['list_number'] = Math.floor(clientWidth / defaultListWidth);
34 | }else{
35 | _self.config['list_number'] = 2;
36 | }
37 | },
38 | _initScroll: function(){
39 | const _self = this;
40 | const wrapper = document.getElementById('wrapper');
41 | const options = {
42 | probeType: 1,
43 | click: true,
44 | scrollbar: false,
45 | bounduceTime: 2000
46 | };
47 | _self.scroll = new BScroll(wrapper, options);
48 | },
49 | bind: function(){
50 | const _self = this;
51 | _self.scroll.on('touchEnd', function(position){
52 | if(position.y < _self.scroll.maxScrollY - 20){
53 | _self.more();
54 | }else if(position.y > 80){
55 | _self.update(_self.initHtml);
56 | }
57 | });
58 | _self.scroll.on('scroll', function(position){
59 | if(position.y > 80){
60 | _self.operations.up();
61 | }else{
62 | _self.operations.down();
63 | }
64 | });
65 | },
66 | fetch: function(url){
67 | return new Promise((resolve, reject) => {
68 | $.ajax({
69 | url: url,
70 | type: 'GET',
71 | dataType: 'json',
72 | data: {},
73 | success: function(data){
74 | resolve(data);
75 | },
76 | error: function(){
77 | reject('request timeout');
78 | }
79 | });
80 | });
81 | },
82 | load: function(fn){
83 | const _self = this;
84 | const url = _self.config.base_url + _self.data.page;
85 | _self.operations.bShow();
86 | _self.scroll.refresh();
87 | return _self.fetch(url).then(data => {
88 | setTimeout(() => {
89 | _self.operations.bHide();
90 | _self.data.next = data.next;
91 | if(!data.next){
92 | _self.bottomLine();
93 | }
94 | _self.data.page++;
95 | fn.call(_self, data.data);
96 | _self.data.status = 'ready';
97 | }, 500);
98 | setTimeout(() => {
99 | _self.scroll.refresh();
100 | }, 600);
101 | }, err => {
102 | console.log(err);
103 | }).catch(e => console.log(e));
104 | },
105 | update: function(fn){
106 | const _self = this;
107 | const url = _self.config.base_url + 'update/' + (_self.data.page - 1);
108 | _self.operations.tShow();
109 | _self.operations.aHide();
110 | return _self.fetch(url).then(data => {
111 | setTimeout(() => {
112 | _self.operations.tHide();
113 | _self.operations.aShow();
114 | _self.data.next = data.next;
115 | fn.call(_self, data.data);
116 | }, 500);
117 | setTimeout(() => {
118 | _self.scroll.refresh();
119 | _self.data.status = 'ready';
120 | }, 600);
121 | }, er => {
122 | console.log(err);
123 | }).catch(e => console.log(e));
124 | },
125 | templ: function(data){ //div template
126 | const block = doc.createElement('div');
127 | block.className = 'list-item';
128 | const value = `
129 |
130 | ${data.name}
131 |
132 | 编号: ${data.id}
133 | ${data.vote}票
134 |
135 |
136 | ${data.desc}
137 |
138 |
139 |
140 |
141 |
`;
142 | block.innerHTML = value;
143 | return block;
144 | },
145 | setHtml: function(data){
146 | const _self = this;
147 | const fragments = _self.setFragements(data);
148 | $('.list-wrapper').each((index, item) => {
149 | $(item).append(fragments[index]);
150 | });
151 | },
152 | initHtml: function(data){ //initial html template
153 | const _self = this;
154 | const fragment = doc.createDocumentFragment();
155 | const fragments = _self.setFragements(data);
156 | fragments.forEach((item, index) => {
157 | const listItem = doc.createElement('li');
158 | listItem.className = 'list-wrapper';
159 | listItem.appendChild(item);
160 | fragment.appendChild(listItem);
161 | });
162 | $('.wrapper').html(fragment);
163 | },
164 | setFragements: function(data){ //generate some fragement
165 | const _self = this;
166 | const count = _self.config['list_number'];
167 | const fragments = _self.getFragments(count);
168 | data.forEach((item, index) => {
169 | const i = index % count;
170 | const block = _self.templ(item);
171 | fragments[i].appendChild(block);
172 | });
173 | return fragments;
174 | },
175 | getFragments: function(num){
176 | const arr = [];
177 | for(let i = 0; i < num; i++){
178 | arr.push(doc.createDocumentFragment());
179 | }
180 | return arr;
181 | },
182 | more: function(){
183 | const _self = this;
184 | let status = _self.data.status;
185 | if(_self.data.next){
186 | if(status === 'ready'){
187 | _self.data.status = 'pending';
188 | _self.load(_self.setHtml);
189 | }
190 | }
191 | },
192 | refresh: function(){
193 | const _self = this;
194 | let status = _self.data.status;
195 | if(status == 'ready'){
196 | _self.data.status = 'pending';
197 | _self.update(_self.initHtml);
198 | }
199 | },
200 | createOperations: function(){
201 | const _self = this;
202 | let bottomloading = null;
203 | let toploading = null;
204 | let arrow = null;
205 |
206 | if(!arrow){
207 | arrow = document.getElementById('arrow');
208 | }
209 |
210 |
211 | if(!toploading){
212 | toploading = document.getElementById('toploading');
213 | }
214 |
215 | if(!bottomloading){
216 | bottomloading = document.getElementById('loading');
217 | }
218 |
219 | function bShow(){
220 | bottomloading.style.display = 'block';
221 | }
222 |
223 | function bHide(){
224 | bottomloading.style.display = 'none';
225 | }
226 |
227 | function tShow(){
228 | toploading.style.display = 'block';
229 | }
230 |
231 | function tHide(){
232 | toploading.style.display = 'none';
233 | }
234 |
235 | function up(){
236 | if(arrow.className.indexOf('arrow_up') == -1){
237 | arrow.className += ' arrow_up';
238 | }
239 | }
240 |
241 | function down(){
242 | if(arrow.className.indexOf('arrow_up') !== -1){
243 | const arr = arrow.className.split(' ');
244 | arr.pop();
245 | arrow.className = arr.join('');
246 | }
247 | }
248 |
249 | function aShow(){
250 | arrow.style.display = 'block';
251 | }
252 |
253 | function aHide(){
254 | arrow.style.display = 'none';
255 | }
256 |
257 | return { bShow, bHide, tShow, tHide, up, down, aShow, aHide };
258 | },
259 | bottomLine: function(){
260 | const bottom = document.getElementById('bottom');
261 | bottom.style.display = 'block';
262 | }
263 | };
264 |
265 | index.init();
266 | })(jQuery, window, document)
--------------------------------------------------------------------------------
/demo3/js/rem.js:
--------------------------------------------------------------------------------
1 | // (function(win, doc){
2 | // const docEl = doc.documentElement;
3 | // const resEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
4 | // const reclac = function(){
5 | // if(!docEl.clientWidth) return;
6 | // const width = docEl.clientWidth;
7 |
8 | // if(width > 750) docEl.style.fontSize = '100px';
9 | // else docEl.style.fontSize = width / 6.4 + 'px';
10 | // }
11 |
12 | // if(doc.addEventListener){
13 | // win.addEventListener(resEvt, reclac, false);
14 | // doc.addEventListener('DOMCententLoaded', reclac, false);
15 | // }
16 | // })(window, document);
17 |
18 | (function (doc, win) {
19 | var docEl = doc.documentElement,
20 | resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
21 |
22 | recalc = function () {
23 | var clientWidth = docEl.clientWidth;
24 | if (!clientWidth) return;
25 | if(clientWidth > 750){ //针对移动版的页面控制在750px内
26 | docEl.style.fontSize = '100px';
27 | }
28 | if(clientWidth <750){
29 | // docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
30 | docEl.style.fontSize = clientWidth/ 6.4+ 'px';
31 |
32 | }
33 |
34 |
35 | };
36 | if (!doc.addEventListener) return;
37 | win.addEventListener(resizeEvt, recalc, false);
38 | doc.addEventListener('DOMContentLoaded', recalc, false);
39 | })(document, window);
--------------------------------------------------------------------------------
/demo3/mock/mock.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "data": [
5 | {
6 | "image": "./images/person.png",
7 | "name": "小明",
8 | "id": "001",
9 | "vote": "1795",
10 | "desc": "该员工工作认真负责,工作认真负责。"
11 | },
12 | {
13 | "image": "./images/person_1.png",
14 | "name": "小明",
15 | "id": "001",
16 | "vote": "1795",
17 | "desc": "该员工工作认真负责,工作认真负责。"
18 | },
19 | {
20 | "image": "./images/person.png",
21 | "name": "小明",
22 | "id": "001",
23 | "vote": "1795",
24 | "desc": "该员工工作认真负责,工作认真负责。"
25 | },
26 | {
27 | "image": "./images/person.png",
28 | "name": "小明",
29 | "id": "001",
30 | "vote": "1795",
31 | "desc": "该员工工作认真负责,工作认真负责。"
32 | },
33 | {
34 | "image": "./images/person_1.png",
35 | "name": "小明",
36 | "id": "001",
37 | "vote": "1795",
38 | "desc": "该员工工作认真负责,工作认真负责。"
39 | },
40 | {
41 | "image": "./images/person.png",
42 | "name": "小明",
43 | "id": "001",
44 | "vote": "1795",
45 | "desc": "该员工工作认真负责,工作认真负责。"
46 | },
47 | {
48 | "image": "./images/person_1.png",
49 | "name": "小明",
50 | "id": "001",
51 | "vote": "1795",
52 | "desc": "该员工工作认真负责,工作认真负责。"
53 | },
54 | {
55 | "image": "./images/person.png",
56 | "name": "小明",
57 | "id": "001",
58 | "vote": "1795",
59 | "desc": "该员工工作认真负责,工作认真负责。"
60 | }
61 | ],
62 | "page": 1
63 | },
64 | {
65 | "data": [
66 | {
67 | "image": "./images/person_1.png",
68 | "name": "小明",
69 | "id": "001",
70 | "vote": "1795",
71 | "desc": "该员工工作认真负责,工作认真负责。"
72 | },
73 | {
74 | "image": "./images/person.png",
75 | "name": "小明",
76 | "id": "001",
77 | "vote": "1795",
78 | "desc": "该员工工作认真负责,工作认真负责。"
79 | },
80 | {
81 | "image": "./images/person.png",
82 | "name": "小明",
83 | "id": "001",
84 | "vote": "1795",
85 | "desc": "该员工工作认真负责,工作认真负责。"
86 | },
87 | {
88 | "image": "./images/person_1.png",
89 | "name": "小明",
90 | "id": "001",
91 | "vote": "1795",
92 | "desc": "该员工工作认真负责,工作认真负责。"
93 | },
94 | {
95 | "image": "./images/person_1.png",
96 | "name": "小明",
97 | "id": "001",
98 | "vote": "1795",
99 | "desc": "该员工工作认真负责,工作认真负责。"
100 | },
101 | {
102 | "image": "./images/person.png",
103 | "name": "小明",
104 | "id": "001",
105 | "vote": "1795",
106 | "desc": "该员工工作认真负责,工作认真负责。"
107 | },
108 | {
109 | "image": "./images/person_1.png",
110 | "name": "小明",
111 | "id": "001",
112 | "vote": "1795",
113 | "desc": "该员工工作认真负责,工作认真负责。"
114 | },
115 | {
116 | "image": "./images/person.png",
117 | "name": "小明",
118 | "id": "001",
119 | "vote": "1795",
120 | "desc": "该员工工作认真负责,工作认真负责。"
121 | }
122 | ],
123 | "page": 2
124 | },
125 | {
126 | "data": [
127 | {
128 | "image": "./images/person.png",
129 | "name": "小明",
130 | "id": "001",
131 | "vote": "1795",
132 | "desc": "该员工工作认真负责,工作认真负责。"
133 | },
134 | {
135 | "image": "./images/person_1.png",
136 | "name": "小明",
137 | "id": "001",
138 | "vote": "1795",
139 | "desc": "该员工工作认真负责,工作认真负责。"
140 | },
141 | {
142 | "image": "./images/person_1.png",
143 | "name": "小明",
144 | "id": "001",
145 | "vote": "1795",
146 | "desc": "该员工工作认真负责,工作认真负责。"
147 | },
148 | {
149 | "image": "./images/person_1.png",
150 | "name": "小明",
151 | "id": "001",
152 | "vote": "1795",
153 | "desc": "该员工工作认真负责,工作认真负责。"
154 | },
155 | {
156 | "image": "./images/person.png",
157 | "name": "小明",
158 | "id": "001",
159 | "vote": "1795",
160 | "desc": "该员工工作认真负责,工作认真负责。"
161 | },
162 | {
163 | "image": "./images/person.png",
164 | "name": "小明",
165 | "id": "001",
166 | "vote": "1795",
167 | "desc": "该员工工作认真负责,工作认真负责。"
168 | },
169 | {
170 | "image": "./images/person_1.png",
171 | "name": "小明",
172 | "id": "001",
173 | "vote": "1795",
174 | "desc": "该员工工作认真负责,工作认真负责。"
175 | },
176 | {
177 | "image": "./images/person.png",
178 | "name": "小明",
179 | "id": "001",
180 | "vote": "1795",
181 | "desc": "该员工工作认真负责,工作认真负责。"
182 | }
183 | ],
184 | "page": 3
185 | }
186 | ]
187 | }
--------------------------------------------------------------------------------
/demo3/mock/update.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "data": [
5 | {
6 | "image": "./images/person.png",
7 | "name": "小明",
8 | "id": "001",
9 | "vote": 2000,
10 | "desc": "该员工工作认真负责,工作认真负责。"
11 | },
12 | {
13 | "image": "./images/person_1.png",
14 | "name": "小明",
15 | "id": "001",
16 | "vote": 3000,
17 | "desc": "该员工工作认真负责,工作认真负责。"
18 | },
19 | {
20 | "image": "./images/person.png",
21 | "name": "小明",
22 | "id": "001",
23 | "vote": 3001,
24 | "desc": "该员工工作认真负责,工作认真负责。"
25 | },
26 | {
27 | "image": "./images/person.png",
28 | "name": "小明",
29 | "id": "001",
30 | "vote": 500,
31 | "desc": "该员工工作认真负责,工作认真负责。"
32 | },
33 | {
34 | "image": "./images/person_1.png",
35 | "name": "小明",
36 | "id": "001",
37 | "vote": 2500,
38 | "desc": "该员工工作认真负责,工作认真负责。"
39 | },
40 | {
41 | "image": "./images/person.png",
42 | "name": "小明",
43 | "id": "001",
44 | "vote": 2399,
45 | "desc": "该员工工作认真负责,工作认真负责。"
46 | },
47 | {
48 | "image": "./images/person_1.png",
49 | "name": "小明",
50 | "id": "001",
51 | "vote": 2780,
52 | "desc": "该员工工作认真负责,工作认真负责。"
53 | },
54 | {
55 | "image": "./images/person.png",
56 | "name": "小明",
57 | "id": "001",
58 | "vote": 2520,
59 | "desc": "该员工工作认真负责,工作认真负责。"
60 | }
61 | ],
62 | "page": 1
63 | },
64 | {
65 | "data": [
66 | {
67 | "image": "./images/person_1.png",
68 | "name": "小明",
69 | "id": "001",
70 | "vote": 6666,
71 | "desc": "该员工工作认真负责,工作认真负责。"
72 | },
73 | {
74 | "image": "./images/person.png",
75 | "name": "小明",
76 | "id": "001",
77 | "vote": 6565,
78 | "desc": "该员工工作认真负责,工作认真负责。"
79 | },
80 | {
81 | "image": "./images/person.png",
82 | "name": "小明",
83 | "id": "001",
84 | "vote": 5455,
85 | "desc": "该员工工作认真负责,工作认真负责。"
86 | },
87 | {
88 | "image": "./images/person_1.png",
89 | "name": "小明",
90 | "id": "001",
91 | "vote": 5730,
92 | "desc": "该员工工作认真负责,工作认真负责。"
93 | },
94 | {
95 | "image": "./images/person_1.png",
96 | "name": "小明",
97 | "id": "001",
98 | "vote": 5110,
99 | "desc": "该员工工作认真负责,工作认真负责。"
100 | },
101 | {
102 | "image": "./images/person.png",
103 | "name": "小明",
104 | "id": "001",
105 | "vote": 5230,
106 | "desc": "该员工工作认真负责,工作认真负责。"
107 | },
108 | {
109 | "image": "./images/person_1.png",
110 | "name": "小明",
111 | "id": "001",
112 | "vote": "1795",
113 | "desc": "该员工工作认真负责,工作认真负责。"
114 | },
115 | {
116 | "image": "./images/person.png",
117 | "name": "小明",
118 | "id": "001",
119 | "vote": "1795",
120 | "desc": "该员工工作认真负责,工作认真负责。"
121 | }
122 | ],
123 | "page": 2
124 | },
125 | {
126 | "data": [
127 | {
128 | "image": "./images/person.png",
129 | "name": "小明",
130 | "id": "001",
131 | "vote": "1795",
132 | "desc": "该员工工作认真负责,工作认真负责。"
133 | },
134 | {
135 | "image": "./images/person_1.png",
136 | "name": "小明",
137 | "id": "001",
138 | "vote": "1795",
139 | "desc": "该员工工作认真负责,工作认真负责。"
140 | },
141 | {
142 | "image": "./images/person_1.png",
143 | "name": "小明",
144 | "id": "001",
145 | "vote": "1795",
146 | "desc": "该员工工作认真负责,工作认真负责。"
147 | },
148 | {
149 | "image": "./images/person_1.png",
150 | "name": "小明",
151 | "id": "001",
152 | "vote": "1795",
153 | "desc": "该员工工作认真负责,工作认真负责。"
154 | },
155 | {
156 | "image": "./images/person.png",
157 | "name": "小明",
158 | "id": "001",
159 | "vote": "1795",
160 | "desc": "该员工工作认真负责,工作认真负责。"
161 | },
162 | {
163 | "image": "./images/person.png",
164 | "name": "小明",
165 | "id": "001",
166 | "vote": "1795",
167 | "desc": "该员工工作认真负责,工作认真负责。"
168 | },
169 | {
170 | "image": "./images/person_1.png",
171 | "name": "小明",
172 | "id": "001",
173 | "vote": "1795",
174 | "desc": "该员工工作认真负责,工作认真负责。"
175 | },
176 | {
177 | "image": "./images/person.png",
178 | "name": "小明",
179 | "id": "001",
180 | "vote": "1795",
181 | "desc": "该员工工作认真负责,工作认真负责。"
182 | }
183 | ],
184 | "page": 3
185 | }
186 | ]
187 | }
--------------------------------------------------------------------------------
/demo3/mock/vote.js:
--------------------------------------------------------------------------------
1 | const Express = require('express');
2 | const app = new Express();
3 | const path = require('path');
4 | const fs = require('fs');
5 |
6 | app.get('/:id', function(req, res){
7 | const page = req.params.id;
8 | res.setHeader("Access-Control-Allow-Origin", "*");
9 | // console.log(page);
10 | fs.readFile(path.resolve(__dirname, 'mock.json'), function(err, data){
11 | if(err){
12 | throw err;
13 | }
14 | const static = JSON.parse(data).data;
15 | const arr = Array.from(static);
16 | const len = arr.length;
17 | const next = page - 0 + 1 <= len ? true : false;
18 | for(let value of arr){
19 | if(value.page == page){
20 | res.json({data: value.data, next: next});
21 | }
22 | }
23 | });
24 | });
25 |
26 | app.get('/update/:id', function(req, res){
27 | const page = req.params.id;
28 | res.setHeader('Access-Control-Allow-Origin', '*');
29 | fs.readFile(path.resolve(__dirname, 'update.json'), function(err, data){
30 | if(err){
31 | throw err;
32 | }
33 | const static = JSON.parse(data).data;
34 | const arr = Array.from(static);
35 | const next = page - 0 + 1 <= arr.length ? true : false;
36 | let result = [];
37 | for(let value of arr){
38 | if(value.page <= page){
39 | result = result.concat(value.data);
40 | }
41 | }
42 | res.json({data: result, next: next});
43 | });
44 | });
45 |
46 | app.listen(3001);
--------------------------------------------------------------------------------
/demo3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vote",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "scripts": {
6 | "test": "echo \"Error: no test specified\" && exit 1",
7 | "start": "webpack-dev-server -p",
8 | "build": "webpack -p"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "babel": "^6.23.0",
15 | "babel-core": "^6.26.0",
16 | "babel-loader": "^7.1.2",
17 | "babel-preset-es2015": "^6.24.1",
18 | "better-scroll": "^1.2.3",
19 | "es6-promise": "^4.1.1",
20 | "express": "^4.15.4",
21 | "jquery": "^3.2.1",
22 | "webpack": "^3.5.5",
23 | "webpack-dev-server": "^2.7.1"
24 | },
25 | "devDependencies": {},
26 | "description": ""
27 | }
28 |
--------------------------------------------------------------------------------
/demo3/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 |
3 | module.exports = {
4 | entry: './js/index.js',
5 |
6 | output: {
7 | path: path.resolve(__dirname, 'dist'),
8 | filename: 'bundle.js',
9 | publicPath: '/dist'
10 | },
11 |
12 | module: {
13 | rules: [
14 | {
15 | test: /\.js$/,
16 | exclude: /node_modules/,
17 | use: [
18 | {
19 | loader: 'babel-loader',
20 | options: {
21 | presets: ['es2015']
22 | }
23 | }
24 | ]
25 | }
26 | ]
27 | }
28 | }
--------------------------------------------------------------------------------
/demo4/.gitignore:
--------------------------------------------------------------------------------
1 | # node_modules
2 | /node_modules/
3 | /.vscode/
4 |
--------------------------------------------------------------------------------
/demo4/README.md:
--------------------------------------------------------------------------------
1 | # 模版生成类静态页面
2 |
3 | 通过node来mock数据,然后将数据放入表单中,以及微信端的适配工作。
4 |
5 | ## demo地址
6 |
7 | [项目地址](http://www.lhbzimo.cn:3111/index.html)
8 |
9 | ## 项目二维码
10 |
11 | 
12 |
13 | ## 效果图
14 |
15 | 
16 |
--------------------------------------------------------------------------------
/demo4/css/index.css:
--------------------------------------------------------------------------------
1 | * {
2 | padding: 0;
3 | margin: 0;
4 | }
5 | .container{
6 | width: 100%;
7 | overflow: hidden;
8 | position: relative;
9 | }
10 |
11 | table{
12 | width: 100%;
13 | border-collapse: collapse;
14 | }
15 |
16 | table tr:first-child{
17 | width: 100%;
18 | height: 150px;
19 | border-bottom: 1px solid #f3f5f7;
20 | }
21 |
22 | table tr:first-child td:last-child{
23 | vertical-align: top;
24 | padding-top: 10px;
25 | }
26 |
27 | table tr:first-child td:last-child p{
28 | height: 20px;
29 | line-height: 20px;
30 | }
31 |
32 | tr{
33 | width: 100%;
34 | border-bottom: 1px solid #f3f5f7;
35 | height: 40px;
36 | font-size: 12px;
37 | /* border-collapse: separate; */
38 | }
39 |
40 | td{
41 | padding-left: 10px;
42 | }
43 |
44 | tr td:last-child{
45 | width: 60%;
46 | font-weight: 700;
47 | }
--------------------------------------------------------------------------------
/demo4/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "code":0,
3 | "data":{
4 | "officer":{
5 | "id":1,
6 | "name":"车俊",
7 | "gender":"男",
8 | "hometown":"安徽巢湖",
9 | "nation":"汉",
10 | "university":"中央党校",
11 | "degree":"中央党校大学学历",
12 | "title":"省委书记",
13 | "birthday":150000000000,
14 | "ccp_date":150000000000,
15 | "work_date":150000000000,
16 | "description":"官员简介说明",
17 | "photo":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAHsAcAMBIgACEQEDEQH/xAAcAAACAwEBAQEAAAAAAAAAAAAABgMEBQcCAQj/xAA3EAACAQMBBQYFAgQHAAAAAAABAgMABBEFEiExQVEGE2FxgaEHIjKRsRTwFULC0SMzQ1LB4fH/xAAZAQACAwEAAAAAAAAAAAAAAAAAAwECBAX/xAAgEQACAgMAAgMBAAAAAAAAAAAAAQIRAyExEhMEIkEy/9oADAMBAAIRAxEAPwDuNFFFABRRRQAUVDc3MNrGXncKorCl7SrKxWyiJI/3DefSquaXS0YOXBjopeXUrzuyZZFBx/Ko3eteIO0YVgk+yfHaB/FU90S3qkMlFUrLU7W8AEUg2ulXaYmnwo010KKKKkgKKKKACiiigAqC7uY7WBpZSAqjnU9L+v7Vxdpbj6Y12z61ScvFWWhHydGRcyS6vc7LZI2+HgM/v1r1JG9tNtwlFIXALDOccvCtLS449mZod5O7aP78q+z2w2cEZ61jbfTYqujAm1aa7kKTlUC8BsDBNYt8hBMkhwDvGTTNdWi7OdkCseez7wMCxIPjVbb6OUEuGJa6leWcpns2U/NnBYg+tdT7Oar/ABXTIrh12ZSvzLnnXK7/AEl4wZYcllBIGTitXslqjxXlqveMI8kspPLnn3+1MxT8WKzY00dUoryjBlDA5BGRXqtpgCiiigAooooAKX75GN/M3DO4eQFMFY2rqFuFfOAykHrnd/1Ssy+o3F/QaZCI7bZHXJqadRivagRQjpjpVG61JIWxLDKAdwOzSKSQ5W5WirdcCKy5xs8BWlKxky6o2zjO8Vh6nqcEB2cF3O4KtLNKI5DnIIpdlj7jU1aLIKyZx1BO8Vrx33eEd5bSRg89xqG7tsahA/JlO8fb+qiiXw6fo+3/AAqz7z6+5TPnirlRWw2YI1HJQPapa3rhy30KKKKkgKKKKACsS+Crd3HfSb5SgiTyH9z7Vt1n3toslwk+AWjIKk8utKzJuOhuJpS2fWBaPAJHj0pc13Sf1MsEqNkxhgQ2Tt567/8AjnTMByqrchYztngKS7odjezPtbZ7HQ+5dixVcZI9q5/qmlyTXXenLAEjBAIwfOulX7h7E7wNwyM8KUJZULZjIYZwRneKo1XDRjd2YunaMLeKJELLsD6s7z5/at6RQln3smT3fyEjln/yo2YKmQONTlO90yFHAKyT5IPMDl71Vu7L0k0Oug7Y0ezEjbTCIZbrV+q9hEYLOGI8UQA1YrfHSRy5O5MKKKKkqFFFFABXxlDDBGRX2igCs6BWwowMVBMqkAvwHWrU+7BqrMiyrh1DL0IyDWeenQ6DMvUrq3hjdO9h2m3EEik39bp0cjmOeIbR5sKdNSto+5IWFceWKUry2QSltgHfwxwpEjdjrxBmD4xw5U3dk4o5LHLxqxjf5SRw8qTEyXCBfICuh9n7cW2lwqCGLjbYjmTV8CuVivkyqNGjRRRWwwBRRRQAUUUUAFFRzzRW8TSzyJHGu9ndgAPU0mal8SNLjvP0WlRvfTZ+aQHZjXqc8T6CiwoaZL6FtQexB/xUiEjeRJA/H4r4ysu9N/hXNLfWrq77Q3d3G6rdOiSRIeDBMhk8sMPzTvo+u22pxZQlJBukib6kPQ1nydNEIutHnVrl1QDYYdd1KmoXilsQ4Y88U46wVNo5GCw4DrSa0QV8uAN9Z59NWN/Urwq5+aRvMchTj2J7Qw6xDdWqYDWTKqkH60KjDffPtXNO0ur7/wBFathP9RwePhSrpGuXem3kl1YzvDI5+pTjdwp2FOOxXyGpaP07RXENG+LOr2Uwi1WKG+hzukx3cmPMbvaum6D2z0XXFUW9yIp2H+TMQrZ8OR9K0poxuLQxUUUVJBg6j2u0ewJVpzM44iEZ9+FKOsfEmbDJp1tHEOTyHab7cB70i3EzEEnjWbcS4BNVbL+KL2ua5faqxl1S9keNd4DNuHkvAVDoMoaGWZIwiFtlMnJYDiTS/cs9xJs8qYrdRBBHENwUYqEST3N3JbPFd2+BNA22nQ9R6jI9aZ3uYrpINQ06RkMqBllXp0PjSfcMHXANRdi7+ay1h7Iyt+mZ9oRk7gTzqJK+l4uh/sO02pTbNvLp0s7kE5iGSAObdP34Uv65rdxcyN3BSJep4jyFP3ZU200GpPbshminWKQDivyBv6j9q5r27RLLV7hkIVJF7w+GeP4NL9aTsv7b0LtzcxhnRWd5WXJZuQPOs9W6V8gzJG0rZzKcjPIcBX1V30wW2eww2lVxlSPtVuEmP6GOKpyfKFbod9W1Hyg0EDJpHa7WNNAW2vpVUfysdpfsd1NunfFC8QqL61gnXmUyjf29q5jnAoD4NFkUjYuDhd9Zkw2s1p6juUYrOPGgCnGFinV3UsAc4HOtBLlpFJMTqCPqJFVJAO84VM+6GMcjvNSgLCnK76xr6d9O1SC9jBOycMufqHStWP6Ky9c3xLnrQyUP/wAFprie/wBduXclbuFZX3ZAcOR+CfQUsfE6Odu0L/OWiKIgXo28j8+xp3+BSKOzOquANprsqT4BFwPc/esXtvEj6nOXUE7j6jBFQH6JWwEwi8FAAr442ELgE44gV7P1VKg+UjwqSCgJXkBUR7j1NaMa7MSgnJA41nQ7pSOQNabfQPKoJZGTXgNlsfehuBqNP5qAP//Z",
18 | "list_pic":"http://www.123123.com/photo.png ",
19 | "resumes":[
20 | {
21 | "year":2017,
22 | "month":7,
23 | "location":"杭州",
24 | "title":"职务"
25 | },
26 | {
27 | "year":2017,
28 | "month":6,
29 | "location":"杭州",
30 | "title":"职务"
31 | }
32 | ]
33 | },
34 | "article_list":[
35 | {}
36 | ]
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/demo4/design.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo4/design.jpg
--------------------------------------------------------------------------------
/demo4/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | News
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/demo4/js/index.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | const table = (function($, win){
4 | var table = {
5 | config: {
6 | url: 'http://www.lhbzimo.cn:3111',
7 | },
8 | init: function(){
9 | const _self = this;
10 | console.log('exec');
11 | _self.setData();
12 | },
13 | fetch: function(){
14 | const _self = this;
15 | console.log(11);
16 | return new Promise((resolve, reject) => {
17 | const url = _self.config.url + '/api/person';
18 | $.ajax({
19 | url: url,
20 | type: 'GET',
21 | dataType: 'json',
22 | data: {},
23 | success: function(response){
24 | const res = JSON.parse(response);
25 | if(res["code"] == 0){
26 | resolve(res.data);
27 | }else{
28 | reject('code is error');
29 | }
30 | },
31 | error: function(){
32 | reject('request timeout');
33 | }
34 | });
35 | });
36 | },
37 | setData: function(){
38 | const _self = this;
39 | _self.fetch().then((data) => {
40 | _self.tepl(data);
41 | }, (err) => {
42 | console.log(err);
43 | }).catch((err) => {
44 | console.log(err);
45 | });
46 | },
47 | tepl: function(data){
48 | const _self = this;
49 | const { name, hometown, nation, university, degree, title, birthday, ccp_date, work_date, photo } = data.officer;
50 | const tableContent = `
51 |
52 |
53 |
54 | |
55 |
56 | ${name}
57 | ${title}
58 | |
59 |
60 |
61 | 籍贯 |
62 | ${nation} |
63 |
64 |
65 | 民族 |
66 | ${hometown} |
67 |
68 |
69 | 出生年月 |
70 | ${_self.getTime(birthday)} |
71 |
72 |
73 | 入党时间 |
74 | ${_self.getTime(ccp_date)} |
75 |
76 |
77 | 毕业院校 |
78 | ${university} |
79 |
80 |
81 | 学历/学位 |
82 | ${degree} |
83 |
84 |
85 | 参与工作时间 |
86 | ${_self.getTime(work_date)} |
87 |
88 | `;
89 | const table = document.createElement('table');
90 | table.innerHTML = tableContent;
91 | document.getElementsByClassName('container')[0].appendChild(table);
92 | },
93 | getTime: function(time){
94 | const date = new Date(time);
95 | return date.getFullYear() + '年' + date.getMonth() + '月';
96 | }
97 | }
98 | return table;
99 | })(jQuery, window);
100 |
101 | table.init();
--------------------------------------------------------------------------------
/demo4/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo4",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "start": "nodemon mock.js"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "express": "^4.15.4",
15 | "fetch": "^1.1.0"
16 | },
17 | "devDependencies": {
18 | "nodemon": "^1.12.1"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/demo4/person.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const fs = require('fs');
3 | const path = require('path');
4 | const app = express();
5 |
6 | const route = express.Router();
7 |
8 | app.use(express.static('./'));
9 |
10 | route.get('/api/person', function(req, res, next){
11 | fs.readFile(path.resolve(__dirname, 'data.json'),'utf-8', function(err, data){
12 | res.json(data);
13 | });
14 | });
15 |
16 | app.use(route);
17 |
18 | app.listen(3111);
--------------------------------------------------------------------------------
/demo5/README.md:
--------------------------------------------------------------------------------
1 | # 自适应页面
2 |
3 | ### 介绍
4 |
5 | 这个项目是一个利用媒体查询的demo,你可以在PC端下看到一个布局完美的页面,同时转换到移动端下,依然可以完美布局
6 |
7 | 主要部分的css代码
8 |
9 | ```css
10 | @media screen and (min-width: 750px){
11 | //...
12 | }
13 |
14 | @media screen and (max-width: 750px){
15 | //...
16 | }
17 | ```
18 |
19 | ### 项目地址
20 |
21 | [demo地址](http://www.lhbzimo.cn/demo5/index.html)
22 |
23 | **二维码:**
24 |
25 | 
26 |
27 | **效果图**
28 |
29 | 
30 |
31 |
32 |
--------------------------------------------------------------------------------
/demo5/css/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/css/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/demo5/css/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/css/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/demo5/css/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/css/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/demo5/css/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/css/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/demo5/css/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/css/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/demo5/css/index.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin:0;
4 | }
5 |
6 | html,body{
7 | height: 100%;
8 | }
9 |
10 | @media screen and (min-width: 750px){
11 | .header{
12 | position: absolute;
13 | width: 100%;
14 | height: 80px;
15 | background: rgb(209, 14, 38);
16 | display: flex;
17 | align-items: center;
18 | justify-content: center;
19 | min-width: 1000px;
20 | border-bottom: 1px solid rgba(255, 255, 255, 0.1);
21 | }
22 |
23 | .header .logo{
24 | flex: 0 0 80px;
25 | height: 50%;
26 | background: url('../images/logo.png') no-repeat;
27 | }
28 |
29 | .header .arrow_left{
30 | margin-left: 20px;
31 | color: rgba(174, 10, 41, 0.9);
32 | }
33 |
34 | .header .nav{
35 | flex: 0 0 800px;
36 | height: 100%;
37 | list-style: none;
38 | display: flex;
39 | margin: 0 20px;
40 | }
41 |
42 | .header .nav .nav-item{
43 | flex: 0 0 80px;
44 | height: 100%;
45 | text-align: center;
46 | color: #fff;
47 | line-height: 80px;
48 | }
49 |
50 | .header .arrow_right{
51 | color: rgba(174, 10, 41, 0.9);
52 | }
53 |
54 | .header .nav .active{
55 | background: rgba(174, 10, 41, 0.9);
56 | }
57 |
58 | .header .mobile{
59 | display: none;
60 | }
61 |
62 | .content{
63 | min-width: 1000px;
64 | width: 100%;
65 | height: 100%;
66 | background: #f3f5f7;
67 | }
68 | .content .tips{
69 | display: block;
70 | margin: 0 auto;
71 | position: relative;
72 | top: 50%;
73 | transform: translateY(-50%);
74 | text-align: center;
75 | }
76 |
77 | .content .tips img{
78 | width: 100px;
79 | height: 80px;
80 | display: block;
81 | margin: 0 auto;
82 | margin-bottom: 20px;
83 | }
84 |
85 | .content .tips span{
86 | font-size: 12px;
87 | }
88 | }
89 |
90 | @media screen and (max-width: 750px){
91 | .header{
92 | width: 100%;
93 | height: 40px;
94 | position: absolute;
95 | }
96 |
97 | .header .arrow_left,.arrow_right{
98 | display: none;
99 | }
100 |
101 | .header .nav{
102 | list-style: none;
103 | display: flex;
104 | background: #f3f5f7;
105 | }
106 |
107 | .header .nav .nav-item{
108 | flex: 0 0 30px;
109 | /* width: 40px; */
110 | height: 100%;
111 | line-height: 40px;
112 | margin-left: 10px;
113 | font-size: 12px;
114 | }
115 |
116 | .header .nav .active{
117 | color: rgb(209, 14, 38);
118 | }
119 |
120 | .header .pc{
121 | display: none;
122 | }
123 |
124 | .header .nav .icon-plus{
125 | font-size: 16px;
126 | line-height: 40px;
127 | color: #999;
128 | flex: 0 0 40px;
129 | text-align: center
130 | }
131 |
132 | .content{
133 | width: 100%;
134 | height: 100%;
135 | }
136 |
137 | .tips{
138 | position: relative;
139 | top: 50%;
140 | transform: translateY(-50%);
141 | text-align: center;
142 | }
143 |
144 | .tips img{
145 | width: 50px;
146 | height: 40px;
147 | display: block;
148 | margin: 0 auto;
149 | margin-bottom: 20px;
150 | }
151 |
152 | .tips span{
153 | font-size: 10px;
154 |
155 | }
156 | }
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3 | comprehensive icon sets or copy and paste your own.
4 |
5 | Please. Check it out.
6 |
7 | -Dave Gandy
8 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/font-awesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 | @import "screen-reader.less";
19 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | .sr-only() {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | .sr-only-focusable() {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/screen-reader.less:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { .sr-only(); }
5 | .sr-only-focusable { .sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | @fa-font-path: "../fonts";
5 | @fa-font-size-base: 14px;
6 | @fa-line-height-base: 1;
7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly
8 | @fa-css-prefix: fa;
9 | @fa-version: "4.7.0";
10 | @fa-border-color: #eee;
11 | @fa-inverse: #fff;
12 | @fa-li-width: (30em / 14);
13 |
14 | @fa-var-500px: "\f26e";
15 | @fa-var-address-book: "\f2b9";
16 | @fa-var-address-book-o: "\f2ba";
17 | @fa-var-address-card: "\f2bb";
18 | @fa-var-address-card-o: "\f2bc";
19 | @fa-var-adjust: "\f042";
20 | @fa-var-adn: "\f170";
21 | @fa-var-align-center: "\f037";
22 | @fa-var-align-justify: "\f039";
23 | @fa-var-align-left: "\f036";
24 | @fa-var-align-right: "\f038";
25 | @fa-var-amazon: "\f270";
26 | @fa-var-ambulance: "\f0f9";
27 | @fa-var-american-sign-language-interpreting: "\f2a3";
28 | @fa-var-anchor: "\f13d";
29 | @fa-var-android: "\f17b";
30 | @fa-var-angellist: "\f209";
31 | @fa-var-angle-double-down: "\f103";
32 | @fa-var-angle-double-left: "\f100";
33 | @fa-var-angle-double-right: "\f101";
34 | @fa-var-angle-double-up: "\f102";
35 | @fa-var-angle-down: "\f107";
36 | @fa-var-angle-left: "\f104";
37 | @fa-var-angle-right: "\f105";
38 | @fa-var-angle-up: "\f106";
39 | @fa-var-apple: "\f179";
40 | @fa-var-archive: "\f187";
41 | @fa-var-area-chart: "\f1fe";
42 | @fa-var-arrow-circle-down: "\f0ab";
43 | @fa-var-arrow-circle-left: "\f0a8";
44 | @fa-var-arrow-circle-o-down: "\f01a";
45 | @fa-var-arrow-circle-o-left: "\f190";
46 | @fa-var-arrow-circle-o-right: "\f18e";
47 | @fa-var-arrow-circle-o-up: "\f01b";
48 | @fa-var-arrow-circle-right: "\f0a9";
49 | @fa-var-arrow-circle-up: "\f0aa";
50 | @fa-var-arrow-down: "\f063";
51 | @fa-var-arrow-left: "\f060";
52 | @fa-var-arrow-right: "\f061";
53 | @fa-var-arrow-up: "\f062";
54 | @fa-var-arrows: "\f047";
55 | @fa-var-arrows-alt: "\f0b2";
56 | @fa-var-arrows-h: "\f07e";
57 | @fa-var-arrows-v: "\f07d";
58 | @fa-var-asl-interpreting: "\f2a3";
59 | @fa-var-assistive-listening-systems: "\f2a2";
60 | @fa-var-asterisk: "\f069";
61 | @fa-var-at: "\f1fa";
62 | @fa-var-audio-description: "\f29e";
63 | @fa-var-automobile: "\f1b9";
64 | @fa-var-backward: "\f04a";
65 | @fa-var-balance-scale: "\f24e";
66 | @fa-var-ban: "\f05e";
67 | @fa-var-bandcamp: "\f2d5";
68 | @fa-var-bank: "\f19c";
69 | @fa-var-bar-chart: "\f080";
70 | @fa-var-bar-chart-o: "\f080";
71 | @fa-var-barcode: "\f02a";
72 | @fa-var-bars: "\f0c9";
73 | @fa-var-bath: "\f2cd";
74 | @fa-var-bathtub: "\f2cd";
75 | @fa-var-battery: "\f240";
76 | @fa-var-battery-0: "\f244";
77 | @fa-var-battery-1: "\f243";
78 | @fa-var-battery-2: "\f242";
79 | @fa-var-battery-3: "\f241";
80 | @fa-var-battery-4: "\f240";
81 | @fa-var-battery-empty: "\f244";
82 | @fa-var-battery-full: "\f240";
83 | @fa-var-battery-half: "\f242";
84 | @fa-var-battery-quarter: "\f243";
85 | @fa-var-battery-three-quarters: "\f241";
86 | @fa-var-bed: "\f236";
87 | @fa-var-beer: "\f0fc";
88 | @fa-var-behance: "\f1b4";
89 | @fa-var-behance-square: "\f1b5";
90 | @fa-var-bell: "\f0f3";
91 | @fa-var-bell-o: "\f0a2";
92 | @fa-var-bell-slash: "\f1f6";
93 | @fa-var-bell-slash-o: "\f1f7";
94 | @fa-var-bicycle: "\f206";
95 | @fa-var-binoculars: "\f1e5";
96 | @fa-var-birthday-cake: "\f1fd";
97 | @fa-var-bitbucket: "\f171";
98 | @fa-var-bitbucket-square: "\f172";
99 | @fa-var-bitcoin: "\f15a";
100 | @fa-var-black-tie: "\f27e";
101 | @fa-var-blind: "\f29d";
102 | @fa-var-bluetooth: "\f293";
103 | @fa-var-bluetooth-b: "\f294";
104 | @fa-var-bold: "\f032";
105 | @fa-var-bolt: "\f0e7";
106 | @fa-var-bomb: "\f1e2";
107 | @fa-var-book: "\f02d";
108 | @fa-var-bookmark: "\f02e";
109 | @fa-var-bookmark-o: "\f097";
110 | @fa-var-braille: "\f2a1";
111 | @fa-var-briefcase: "\f0b1";
112 | @fa-var-btc: "\f15a";
113 | @fa-var-bug: "\f188";
114 | @fa-var-building: "\f1ad";
115 | @fa-var-building-o: "\f0f7";
116 | @fa-var-bullhorn: "\f0a1";
117 | @fa-var-bullseye: "\f140";
118 | @fa-var-bus: "\f207";
119 | @fa-var-buysellads: "\f20d";
120 | @fa-var-cab: "\f1ba";
121 | @fa-var-calculator: "\f1ec";
122 | @fa-var-calendar: "\f073";
123 | @fa-var-calendar-check-o: "\f274";
124 | @fa-var-calendar-minus-o: "\f272";
125 | @fa-var-calendar-o: "\f133";
126 | @fa-var-calendar-plus-o: "\f271";
127 | @fa-var-calendar-times-o: "\f273";
128 | @fa-var-camera: "\f030";
129 | @fa-var-camera-retro: "\f083";
130 | @fa-var-car: "\f1b9";
131 | @fa-var-caret-down: "\f0d7";
132 | @fa-var-caret-left: "\f0d9";
133 | @fa-var-caret-right: "\f0da";
134 | @fa-var-caret-square-o-down: "\f150";
135 | @fa-var-caret-square-o-left: "\f191";
136 | @fa-var-caret-square-o-right: "\f152";
137 | @fa-var-caret-square-o-up: "\f151";
138 | @fa-var-caret-up: "\f0d8";
139 | @fa-var-cart-arrow-down: "\f218";
140 | @fa-var-cart-plus: "\f217";
141 | @fa-var-cc: "\f20a";
142 | @fa-var-cc-amex: "\f1f3";
143 | @fa-var-cc-diners-club: "\f24c";
144 | @fa-var-cc-discover: "\f1f2";
145 | @fa-var-cc-jcb: "\f24b";
146 | @fa-var-cc-mastercard: "\f1f1";
147 | @fa-var-cc-paypal: "\f1f4";
148 | @fa-var-cc-stripe: "\f1f5";
149 | @fa-var-cc-visa: "\f1f0";
150 | @fa-var-certificate: "\f0a3";
151 | @fa-var-chain: "\f0c1";
152 | @fa-var-chain-broken: "\f127";
153 | @fa-var-check: "\f00c";
154 | @fa-var-check-circle: "\f058";
155 | @fa-var-check-circle-o: "\f05d";
156 | @fa-var-check-square: "\f14a";
157 | @fa-var-check-square-o: "\f046";
158 | @fa-var-chevron-circle-down: "\f13a";
159 | @fa-var-chevron-circle-left: "\f137";
160 | @fa-var-chevron-circle-right: "\f138";
161 | @fa-var-chevron-circle-up: "\f139";
162 | @fa-var-chevron-down: "\f078";
163 | @fa-var-chevron-left: "\f053";
164 | @fa-var-chevron-right: "\f054";
165 | @fa-var-chevron-up: "\f077";
166 | @fa-var-child: "\f1ae";
167 | @fa-var-chrome: "\f268";
168 | @fa-var-circle: "\f111";
169 | @fa-var-circle-o: "\f10c";
170 | @fa-var-circle-o-notch: "\f1ce";
171 | @fa-var-circle-thin: "\f1db";
172 | @fa-var-clipboard: "\f0ea";
173 | @fa-var-clock-o: "\f017";
174 | @fa-var-clone: "\f24d";
175 | @fa-var-close: "\f00d";
176 | @fa-var-cloud: "\f0c2";
177 | @fa-var-cloud-download: "\f0ed";
178 | @fa-var-cloud-upload: "\f0ee";
179 | @fa-var-cny: "\f157";
180 | @fa-var-code: "\f121";
181 | @fa-var-code-fork: "\f126";
182 | @fa-var-codepen: "\f1cb";
183 | @fa-var-codiepie: "\f284";
184 | @fa-var-coffee: "\f0f4";
185 | @fa-var-cog: "\f013";
186 | @fa-var-cogs: "\f085";
187 | @fa-var-columns: "\f0db";
188 | @fa-var-comment: "\f075";
189 | @fa-var-comment-o: "\f0e5";
190 | @fa-var-commenting: "\f27a";
191 | @fa-var-commenting-o: "\f27b";
192 | @fa-var-comments: "\f086";
193 | @fa-var-comments-o: "\f0e6";
194 | @fa-var-compass: "\f14e";
195 | @fa-var-compress: "\f066";
196 | @fa-var-connectdevelop: "\f20e";
197 | @fa-var-contao: "\f26d";
198 | @fa-var-copy: "\f0c5";
199 | @fa-var-copyright: "\f1f9";
200 | @fa-var-creative-commons: "\f25e";
201 | @fa-var-credit-card: "\f09d";
202 | @fa-var-credit-card-alt: "\f283";
203 | @fa-var-crop: "\f125";
204 | @fa-var-crosshairs: "\f05b";
205 | @fa-var-css3: "\f13c";
206 | @fa-var-cube: "\f1b2";
207 | @fa-var-cubes: "\f1b3";
208 | @fa-var-cut: "\f0c4";
209 | @fa-var-cutlery: "\f0f5";
210 | @fa-var-dashboard: "\f0e4";
211 | @fa-var-dashcube: "\f210";
212 | @fa-var-database: "\f1c0";
213 | @fa-var-deaf: "\f2a4";
214 | @fa-var-deafness: "\f2a4";
215 | @fa-var-dedent: "\f03b";
216 | @fa-var-delicious: "\f1a5";
217 | @fa-var-desktop: "\f108";
218 | @fa-var-deviantart: "\f1bd";
219 | @fa-var-diamond: "\f219";
220 | @fa-var-digg: "\f1a6";
221 | @fa-var-dollar: "\f155";
222 | @fa-var-dot-circle-o: "\f192";
223 | @fa-var-download: "\f019";
224 | @fa-var-dribbble: "\f17d";
225 | @fa-var-drivers-license: "\f2c2";
226 | @fa-var-drivers-license-o: "\f2c3";
227 | @fa-var-dropbox: "\f16b";
228 | @fa-var-drupal: "\f1a9";
229 | @fa-var-edge: "\f282";
230 | @fa-var-edit: "\f044";
231 | @fa-var-eercast: "\f2da";
232 | @fa-var-eject: "\f052";
233 | @fa-var-ellipsis-h: "\f141";
234 | @fa-var-ellipsis-v: "\f142";
235 | @fa-var-empire: "\f1d1";
236 | @fa-var-envelope: "\f0e0";
237 | @fa-var-envelope-o: "\f003";
238 | @fa-var-envelope-open: "\f2b6";
239 | @fa-var-envelope-open-o: "\f2b7";
240 | @fa-var-envelope-square: "\f199";
241 | @fa-var-envira: "\f299";
242 | @fa-var-eraser: "\f12d";
243 | @fa-var-etsy: "\f2d7";
244 | @fa-var-eur: "\f153";
245 | @fa-var-euro: "\f153";
246 | @fa-var-exchange: "\f0ec";
247 | @fa-var-exclamation: "\f12a";
248 | @fa-var-exclamation-circle: "\f06a";
249 | @fa-var-exclamation-triangle: "\f071";
250 | @fa-var-expand: "\f065";
251 | @fa-var-expeditedssl: "\f23e";
252 | @fa-var-external-link: "\f08e";
253 | @fa-var-external-link-square: "\f14c";
254 | @fa-var-eye: "\f06e";
255 | @fa-var-eye-slash: "\f070";
256 | @fa-var-eyedropper: "\f1fb";
257 | @fa-var-fa: "\f2b4";
258 | @fa-var-facebook: "\f09a";
259 | @fa-var-facebook-f: "\f09a";
260 | @fa-var-facebook-official: "\f230";
261 | @fa-var-facebook-square: "\f082";
262 | @fa-var-fast-backward: "\f049";
263 | @fa-var-fast-forward: "\f050";
264 | @fa-var-fax: "\f1ac";
265 | @fa-var-feed: "\f09e";
266 | @fa-var-female: "\f182";
267 | @fa-var-fighter-jet: "\f0fb";
268 | @fa-var-file: "\f15b";
269 | @fa-var-file-archive-o: "\f1c6";
270 | @fa-var-file-audio-o: "\f1c7";
271 | @fa-var-file-code-o: "\f1c9";
272 | @fa-var-file-excel-o: "\f1c3";
273 | @fa-var-file-image-o: "\f1c5";
274 | @fa-var-file-movie-o: "\f1c8";
275 | @fa-var-file-o: "\f016";
276 | @fa-var-file-pdf-o: "\f1c1";
277 | @fa-var-file-photo-o: "\f1c5";
278 | @fa-var-file-picture-o: "\f1c5";
279 | @fa-var-file-powerpoint-o: "\f1c4";
280 | @fa-var-file-sound-o: "\f1c7";
281 | @fa-var-file-text: "\f15c";
282 | @fa-var-file-text-o: "\f0f6";
283 | @fa-var-file-video-o: "\f1c8";
284 | @fa-var-file-word-o: "\f1c2";
285 | @fa-var-file-zip-o: "\f1c6";
286 | @fa-var-files-o: "\f0c5";
287 | @fa-var-film: "\f008";
288 | @fa-var-filter: "\f0b0";
289 | @fa-var-fire: "\f06d";
290 | @fa-var-fire-extinguisher: "\f134";
291 | @fa-var-firefox: "\f269";
292 | @fa-var-first-order: "\f2b0";
293 | @fa-var-flag: "\f024";
294 | @fa-var-flag-checkered: "\f11e";
295 | @fa-var-flag-o: "\f11d";
296 | @fa-var-flash: "\f0e7";
297 | @fa-var-flask: "\f0c3";
298 | @fa-var-flickr: "\f16e";
299 | @fa-var-floppy-o: "\f0c7";
300 | @fa-var-folder: "\f07b";
301 | @fa-var-folder-o: "\f114";
302 | @fa-var-folder-open: "\f07c";
303 | @fa-var-folder-open-o: "\f115";
304 | @fa-var-font: "\f031";
305 | @fa-var-font-awesome: "\f2b4";
306 | @fa-var-fonticons: "\f280";
307 | @fa-var-fort-awesome: "\f286";
308 | @fa-var-forumbee: "\f211";
309 | @fa-var-forward: "\f04e";
310 | @fa-var-foursquare: "\f180";
311 | @fa-var-free-code-camp: "\f2c5";
312 | @fa-var-frown-o: "\f119";
313 | @fa-var-futbol-o: "\f1e3";
314 | @fa-var-gamepad: "\f11b";
315 | @fa-var-gavel: "\f0e3";
316 | @fa-var-gbp: "\f154";
317 | @fa-var-ge: "\f1d1";
318 | @fa-var-gear: "\f013";
319 | @fa-var-gears: "\f085";
320 | @fa-var-genderless: "\f22d";
321 | @fa-var-get-pocket: "\f265";
322 | @fa-var-gg: "\f260";
323 | @fa-var-gg-circle: "\f261";
324 | @fa-var-gift: "\f06b";
325 | @fa-var-git: "\f1d3";
326 | @fa-var-git-square: "\f1d2";
327 | @fa-var-github: "\f09b";
328 | @fa-var-github-alt: "\f113";
329 | @fa-var-github-square: "\f092";
330 | @fa-var-gitlab: "\f296";
331 | @fa-var-gittip: "\f184";
332 | @fa-var-glass: "\f000";
333 | @fa-var-glide: "\f2a5";
334 | @fa-var-glide-g: "\f2a6";
335 | @fa-var-globe: "\f0ac";
336 | @fa-var-google: "\f1a0";
337 | @fa-var-google-plus: "\f0d5";
338 | @fa-var-google-plus-circle: "\f2b3";
339 | @fa-var-google-plus-official: "\f2b3";
340 | @fa-var-google-plus-square: "\f0d4";
341 | @fa-var-google-wallet: "\f1ee";
342 | @fa-var-graduation-cap: "\f19d";
343 | @fa-var-gratipay: "\f184";
344 | @fa-var-grav: "\f2d6";
345 | @fa-var-group: "\f0c0";
346 | @fa-var-h-square: "\f0fd";
347 | @fa-var-hacker-news: "\f1d4";
348 | @fa-var-hand-grab-o: "\f255";
349 | @fa-var-hand-lizard-o: "\f258";
350 | @fa-var-hand-o-down: "\f0a7";
351 | @fa-var-hand-o-left: "\f0a5";
352 | @fa-var-hand-o-right: "\f0a4";
353 | @fa-var-hand-o-up: "\f0a6";
354 | @fa-var-hand-paper-o: "\f256";
355 | @fa-var-hand-peace-o: "\f25b";
356 | @fa-var-hand-pointer-o: "\f25a";
357 | @fa-var-hand-rock-o: "\f255";
358 | @fa-var-hand-scissors-o: "\f257";
359 | @fa-var-hand-spock-o: "\f259";
360 | @fa-var-hand-stop-o: "\f256";
361 | @fa-var-handshake-o: "\f2b5";
362 | @fa-var-hard-of-hearing: "\f2a4";
363 | @fa-var-hashtag: "\f292";
364 | @fa-var-hdd-o: "\f0a0";
365 | @fa-var-header: "\f1dc";
366 | @fa-var-headphones: "\f025";
367 | @fa-var-heart: "\f004";
368 | @fa-var-heart-o: "\f08a";
369 | @fa-var-heartbeat: "\f21e";
370 | @fa-var-history: "\f1da";
371 | @fa-var-home: "\f015";
372 | @fa-var-hospital-o: "\f0f8";
373 | @fa-var-hotel: "\f236";
374 | @fa-var-hourglass: "\f254";
375 | @fa-var-hourglass-1: "\f251";
376 | @fa-var-hourglass-2: "\f252";
377 | @fa-var-hourglass-3: "\f253";
378 | @fa-var-hourglass-end: "\f253";
379 | @fa-var-hourglass-half: "\f252";
380 | @fa-var-hourglass-o: "\f250";
381 | @fa-var-hourglass-start: "\f251";
382 | @fa-var-houzz: "\f27c";
383 | @fa-var-html5: "\f13b";
384 | @fa-var-i-cursor: "\f246";
385 | @fa-var-id-badge: "\f2c1";
386 | @fa-var-id-card: "\f2c2";
387 | @fa-var-id-card-o: "\f2c3";
388 | @fa-var-ils: "\f20b";
389 | @fa-var-image: "\f03e";
390 | @fa-var-imdb: "\f2d8";
391 | @fa-var-inbox: "\f01c";
392 | @fa-var-indent: "\f03c";
393 | @fa-var-industry: "\f275";
394 | @fa-var-info: "\f129";
395 | @fa-var-info-circle: "\f05a";
396 | @fa-var-inr: "\f156";
397 | @fa-var-instagram: "\f16d";
398 | @fa-var-institution: "\f19c";
399 | @fa-var-internet-explorer: "\f26b";
400 | @fa-var-intersex: "\f224";
401 | @fa-var-ioxhost: "\f208";
402 | @fa-var-italic: "\f033";
403 | @fa-var-joomla: "\f1aa";
404 | @fa-var-jpy: "\f157";
405 | @fa-var-jsfiddle: "\f1cc";
406 | @fa-var-key: "\f084";
407 | @fa-var-keyboard-o: "\f11c";
408 | @fa-var-krw: "\f159";
409 | @fa-var-language: "\f1ab";
410 | @fa-var-laptop: "\f109";
411 | @fa-var-lastfm: "\f202";
412 | @fa-var-lastfm-square: "\f203";
413 | @fa-var-leaf: "\f06c";
414 | @fa-var-leanpub: "\f212";
415 | @fa-var-legal: "\f0e3";
416 | @fa-var-lemon-o: "\f094";
417 | @fa-var-level-down: "\f149";
418 | @fa-var-level-up: "\f148";
419 | @fa-var-life-bouy: "\f1cd";
420 | @fa-var-life-buoy: "\f1cd";
421 | @fa-var-life-ring: "\f1cd";
422 | @fa-var-life-saver: "\f1cd";
423 | @fa-var-lightbulb-o: "\f0eb";
424 | @fa-var-line-chart: "\f201";
425 | @fa-var-link: "\f0c1";
426 | @fa-var-linkedin: "\f0e1";
427 | @fa-var-linkedin-square: "\f08c";
428 | @fa-var-linode: "\f2b8";
429 | @fa-var-linux: "\f17c";
430 | @fa-var-list: "\f03a";
431 | @fa-var-list-alt: "\f022";
432 | @fa-var-list-ol: "\f0cb";
433 | @fa-var-list-ul: "\f0ca";
434 | @fa-var-location-arrow: "\f124";
435 | @fa-var-lock: "\f023";
436 | @fa-var-long-arrow-down: "\f175";
437 | @fa-var-long-arrow-left: "\f177";
438 | @fa-var-long-arrow-right: "\f178";
439 | @fa-var-long-arrow-up: "\f176";
440 | @fa-var-low-vision: "\f2a8";
441 | @fa-var-magic: "\f0d0";
442 | @fa-var-magnet: "\f076";
443 | @fa-var-mail-forward: "\f064";
444 | @fa-var-mail-reply: "\f112";
445 | @fa-var-mail-reply-all: "\f122";
446 | @fa-var-male: "\f183";
447 | @fa-var-map: "\f279";
448 | @fa-var-map-marker: "\f041";
449 | @fa-var-map-o: "\f278";
450 | @fa-var-map-pin: "\f276";
451 | @fa-var-map-signs: "\f277";
452 | @fa-var-mars: "\f222";
453 | @fa-var-mars-double: "\f227";
454 | @fa-var-mars-stroke: "\f229";
455 | @fa-var-mars-stroke-h: "\f22b";
456 | @fa-var-mars-stroke-v: "\f22a";
457 | @fa-var-maxcdn: "\f136";
458 | @fa-var-meanpath: "\f20c";
459 | @fa-var-medium: "\f23a";
460 | @fa-var-medkit: "\f0fa";
461 | @fa-var-meetup: "\f2e0";
462 | @fa-var-meh-o: "\f11a";
463 | @fa-var-mercury: "\f223";
464 | @fa-var-microchip: "\f2db";
465 | @fa-var-microphone: "\f130";
466 | @fa-var-microphone-slash: "\f131";
467 | @fa-var-minus: "\f068";
468 | @fa-var-minus-circle: "\f056";
469 | @fa-var-minus-square: "\f146";
470 | @fa-var-minus-square-o: "\f147";
471 | @fa-var-mixcloud: "\f289";
472 | @fa-var-mobile: "\f10b";
473 | @fa-var-mobile-phone: "\f10b";
474 | @fa-var-modx: "\f285";
475 | @fa-var-money: "\f0d6";
476 | @fa-var-moon-o: "\f186";
477 | @fa-var-mortar-board: "\f19d";
478 | @fa-var-motorcycle: "\f21c";
479 | @fa-var-mouse-pointer: "\f245";
480 | @fa-var-music: "\f001";
481 | @fa-var-navicon: "\f0c9";
482 | @fa-var-neuter: "\f22c";
483 | @fa-var-newspaper-o: "\f1ea";
484 | @fa-var-object-group: "\f247";
485 | @fa-var-object-ungroup: "\f248";
486 | @fa-var-odnoklassniki: "\f263";
487 | @fa-var-odnoklassniki-square: "\f264";
488 | @fa-var-opencart: "\f23d";
489 | @fa-var-openid: "\f19b";
490 | @fa-var-opera: "\f26a";
491 | @fa-var-optin-monster: "\f23c";
492 | @fa-var-outdent: "\f03b";
493 | @fa-var-pagelines: "\f18c";
494 | @fa-var-paint-brush: "\f1fc";
495 | @fa-var-paper-plane: "\f1d8";
496 | @fa-var-paper-plane-o: "\f1d9";
497 | @fa-var-paperclip: "\f0c6";
498 | @fa-var-paragraph: "\f1dd";
499 | @fa-var-paste: "\f0ea";
500 | @fa-var-pause: "\f04c";
501 | @fa-var-pause-circle: "\f28b";
502 | @fa-var-pause-circle-o: "\f28c";
503 | @fa-var-paw: "\f1b0";
504 | @fa-var-paypal: "\f1ed";
505 | @fa-var-pencil: "\f040";
506 | @fa-var-pencil-square: "\f14b";
507 | @fa-var-pencil-square-o: "\f044";
508 | @fa-var-percent: "\f295";
509 | @fa-var-phone: "\f095";
510 | @fa-var-phone-square: "\f098";
511 | @fa-var-photo: "\f03e";
512 | @fa-var-picture-o: "\f03e";
513 | @fa-var-pie-chart: "\f200";
514 | @fa-var-pied-piper: "\f2ae";
515 | @fa-var-pied-piper-alt: "\f1a8";
516 | @fa-var-pied-piper-pp: "\f1a7";
517 | @fa-var-pinterest: "\f0d2";
518 | @fa-var-pinterest-p: "\f231";
519 | @fa-var-pinterest-square: "\f0d3";
520 | @fa-var-plane: "\f072";
521 | @fa-var-play: "\f04b";
522 | @fa-var-play-circle: "\f144";
523 | @fa-var-play-circle-o: "\f01d";
524 | @fa-var-plug: "\f1e6";
525 | @fa-var-plus: "\f067";
526 | @fa-var-plus-circle: "\f055";
527 | @fa-var-plus-square: "\f0fe";
528 | @fa-var-plus-square-o: "\f196";
529 | @fa-var-podcast: "\f2ce";
530 | @fa-var-power-off: "\f011";
531 | @fa-var-print: "\f02f";
532 | @fa-var-product-hunt: "\f288";
533 | @fa-var-puzzle-piece: "\f12e";
534 | @fa-var-qq: "\f1d6";
535 | @fa-var-qrcode: "\f029";
536 | @fa-var-question: "\f128";
537 | @fa-var-question-circle: "\f059";
538 | @fa-var-question-circle-o: "\f29c";
539 | @fa-var-quora: "\f2c4";
540 | @fa-var-quote-left: "\f10d";
541 | @fa-var-quote-right: "\f10e";
542 | @fa-var-ra: "\f1d0";
543 | @fa-var-random: "\f074";
544 | @fa-var-ravelry: "\f2d9";
545 | @fa-var-rebel: "\f1d0";
546 | @fa-var-recycle: "\f1b8";
547 | @fa-var-reddit: "\f1a1";
548 | @fa-var-reddit-alien: "\f281";
549 | @fa-var-reddit-square: "\f1a2";
550 | @fa-var-refresh: "\f021";
551 | @fa-var-registered: "\f25d";
552 | @fa-var-remove: "\f00d";
553 | @fa-var-renren: "\f18b";
554 | @fa-var-reorder: "\f0c9";
555 | @fa-var-repeat: "\f01e";
556 | @fa-var-reply: "\f112";
557 | @fa-var-reply-all: "\f122";
558 | @fa-var-resistance: "\f1d0";
559 | @fa-var-retweet: "\f079";
560 | @fa-var-rmb: "\f157";
561 | @fa-var-road: "\f018";
562 | @fa-var-rocket: "\f135";
563 | @fa-var-rotate-left: "\f0e2";
564 | @fa-var-rotate-right: "\f01e";
565 | @fa-var-rouble: "\f158";
566 | @fa-var-rss: "\f09e";
567 | @fa-var-rss-square: "\f143";
568 | @fa-var-rub: "\f158";
569 | @fa-var-ruble: "\f158";
570 | @fa-var-rupee: "\f156";
571 | @fa-var-s15: "\f2cd";
572 | @fa-var-safari: "\f267";
573 | @fa-var-save: "\f0c7";
574 | @fa-var-scissors: "\f0c4";
575 | @fa-var-scribd: "\f28a";
576 | @fa-var-search: "\f002";
577 | @fa-var-search-minus: "\f010";
578 | @fa-var-search-plus: "\f00e";
579 | @fa-var-sellsy: "\f213";
580 | @fa-var-send: "\f1d8";
581 | @fa-var-send-o: "\f1d9";
582 | @fa-var-server: "\f233";
583 | @fa-var-share: "\f064";
584 | @fa-var-share-alt: "\f1e0";
585 | @fa-var-share-alt-square: "\f1e1";
586 | @fa-var-share-square: "\f14d";
587 | @fa-var-share-square-o: "\f045";
588 | @fa-var-shekel: "\f20b";
589 | @fa-var-sheqel: "\f20b";
590 | @fa-var-shield: "\f132";
591 | @fa-var-ship: "\f21a";
592 | @fa-var-shirtsinbulk: "\f214";
593 | @fa-var-shopping-bag: "\f290";
594 | @fa-var-shopping-basket: "\f291";
595 | @fa-var-shopping-cart: "\f07a";
596 | @fa-var-shower: "\f2cc";
597 | @fa-var-sign-in: "\f090";
598 | @fa-var-sign-language: "\f2a7";
599 | @fa-var-sign-out: "\f08b";
600 | @fa-var-signal: "\f012";
601 | @fa-var-signing: "\f2a7";
602 | @fa-var-simplybuilt: "\f215";
603 | @fa-var-sitemap: "\f0e8";
604 | @fa-var-skyatlas: "\f216";
605 | @fa-var-skype: "\f17e";
606 | @fa-var-slack: "\f198";
607 | @fa-var-sliders: "\f1de";
608 | @fa-var-slideshare: "\f1e7";
609 | @fa-var-smile-o: "\f118";
610 | @fa-var-snapchat: "\f2ab";
611 | @fa-var-snapchat-ghost: "\f2ac";
612 | @fa-var-snapchat-square: "\f2ad";
613 | @fa-var-snowflake-o: "\f2dc";
614 | @fa-var-soccer-ball-o: "\f1e3";
615 | @fa-var-sort: "\f0dc";
616 | @fa-var-sort-alpha-asc: "\f15d";
617 | @fa-var-sort-alpha-desc: "\f15e";
618 | @fa-var-sort-amount-asc: "\f160";
619 | @fa-var-sort-amount-desc: "\f161";
620 | @fa-var-sort-asc: "\f0de";
621 | @fa-var-sort-desc: "\f0dd";
622 | @fa-var-sort-down: "\f0dd";
623 | @fa-var-sort-numeric-asc: "\f162";
624 | @fa-var-sort-numeric-desc: "\f163";
625 | @fa-var-sort-up: "\f0de";
626 | @fa-var-soundcloud: "\f1be";
627 | @fa-var-space-shuttle: "\f197";
628 | @fa-var-spinner: "\f110";
629 | @fa-var-spoon: "\f1b1";
630 | @fa-var-spotify: "\f1bc";
631 | @fa-var-square: "\f0c8";
632 | @fa-var-square-o: "\f096";
633 | @fa-var-stack-exchange: "\f18d";
634 | @fa-var-stack-overflow: "\f16c";
635 | @fa-var-star: "\f005";
636 | @fa-var-star-half: "\f089";
637 | @fa-var-star-half-empty: "\f123";
638 | @fa-var-star-half-full: "\f123";
639 | @fa-var-star-half-o: "\f123";
640 | @fa-var-star-o: "\f006";
641 | @fa-var-steam: "\f1b6";
642 | @fa-var-steam-square: "\f1b7";
643 | @fa-var-step-backward: "\f048";
644 | @fa-var-step-forward: "\f051";
645 | @fa-var-stethoscope: "\f0f1";
646 | @fa-var-sticky-note: "\f249";
647 | @fa-var-sticky-note-o: "\f24a";
648 | @fa-var-stop: "\f04d";
649 | @fa-var-stop-circle: "\f28d";
650 | @fa-var-stop-circle-o: "\f28e";
651 | @fa-var-street-view: "\f21d";
652 | @fa-var-strikethrough: "\f0cc";
653 | @fa-var-stumbleupon: "\f1a4";
654 | @fa-var-stumbleupon-circle: "\f1a3";
655 | @fa-var-subscript: "\f12c";
656 | @fa-var-subway: "\f239";
657 | @fa-var-suitcase: "\f0f2";
658 | @fa-var-sun-o: "\f185";
659 | @fa-var-superpowers: "\f2dd";
660 | @fa-var-superscript: "\f12b";
661 | @fa-var-support: "\f1cd";
662 | @fa-var-table: "\f0ce";
663 | @fa-var-tablet: "\f10a";
664 | @fa-var-tachometer: "\f0e4";
665 | @fa-var-tag: "\f02b";
666 | @fa-var-tags: "\f02c";
667 | @fa-var-tasks: "\f0ae";
668 | @fa-var-taxi: "\f1ba";
669 | @fa-var-telegram: "\f2c6";
670 | @fa-var-television: "\f26c";
671 | @fa-var-tencent-weibo: "\f1d5";
672 | @fa-var-terminal: "\f120";
673 | @fa-var-text-height: "\f034";
674 | @fa-var-text-width: "\f035";
675 | @fa-var-th: "\f00a";
676 | @fa-var-th-large: "\f009";
677 | @fa-var-th-list: "\f00b";
678 | @fa-var-themeisle: "\f2b2";
679 | @fa-var-thermometer: "\f2c7";
680 | @fa-var-thermometer-0: "\f2cb";
681 | @fa-var-thermometer-1: "\f2ca";
682 | @fa-var-thermometer-2: "\f2c9";
683 | @fa-var-thermometer-3: "\f2c8";
684 | @fa-var-thermometer-4: "\f2c7";
685 | @fa-var-thermometer-empty: "\f2cb";
686 | @fa-var-thermometer-full: "\f2c7";
687 | @fa-var-thermometer-half: "\f2c9";
688 | @fa-var-thermometer-quarter: "\f2ca";
689 | @fa-var-thermometer-three-quarters: "\f2c8";
690 | @fa-var-thumb-tack: "\f08d";
691 | @fa-var-thumbs-down: "\f165";
692 | @fa-var-thumbs-o-down: "\f088";
693 | @fa-var-thumbs-o-up: "\f087";
694 | @fa-var-thumbs-up: "\f164";
695 | @fa-var-ticket: "\f145";
696 | @fa-var-times: "\f00d";
697 | @fa-var-times-circle: "\f057";
698 | @fa-var-times-circle-o: "\f05c";
699 | @fa-var-times-rectangle: "\f2d3";
700 | @fa-var-times-rectangle-o: "\f2d4";
701 | @fa-var-tint: "\f043";
702 | @fa-var-toggle-down: "\f150";
703 | @fa-var-toggle-left: "\f191";
704 | @fa-var-toggle-off: "\f204";
705 | @fa-var-toggle-on: "\f205";
706 | @fa-var-toggle-right: "\f152";
707 | @fa-var-toggle-up: "\f151";
708 | @fa-var-trademark: "\f25c";
709 | @fa-var-train: "\f238";
710 | @fa-var-transgender: "\f224";
711 | @fa-var-transgender-alt: "\f225";
712 | @fa-var-trash: "\f1f8";
713 | @fa-var-trash-o: "\f014";
714 | @fa-var-tree: "\f1bb";
715 | @fa-var-trello: "\f181";
716 | @fa-var-tripadvisor: "\f262";
717 | @fa-var-trophy: "\f091";
718 | @fa-var-truck: "\f0d1";
719 | @fa-var-try: "\f195";
720 | @fa-var-tty: "\f1e4";
721 | @fa-var-tumblr: "\f173";
722 | @fa-var-tumblr-square: "\f174";
723 | @fa-var-turkish-lira: "\f195";
724 | @fa-var-tv: "\f26c";
725 | @fa-var-twitch: "\f1e8";
726 | @fa-var-twitter: "\f099";
727 | @fa-var-twitter-square: "\f081";
728 | @fa-var-umbrella: "\f0e9";
729 | @fa-var-underline: "\f0cd";
730 | @fa-var-undo: "\f0e2";
731 | @fa-var-universal-access: "\f29a";
732 | @fa-var-university: "\f19c";
733 | @fa-var-unlink: "\f127";
734 | @fa-var-unlock: "\f09c";
735 | @fa-var-unlock-alt: "\f13e";
736 | @fa-var-unsorted: "\f0dc";
737 | @fa-var-upload: "\f093";
738 | @fa-var-usb: "\f287";
739 | @fa-var-usd: "\f155";
740 | @fa-var-user: "\f007";
741 | @fa-var-user-circle: "\f2bd";
742 | @fa-var-user-circle-o: "\f2be";
743 | @fa-var-user-md: "\f0f0";
744 | @fa-var-user-o: "\f2c0";
745 | @fa-var-user-plus: "\f234";
746 | @fa-var-user-secret: "\f21b";
747 | @fa-var-user-times: "\f235";
748 | @fa-var-users: "\f0c0";
749 | @fa-var-vcard: "\f2bb";
750 | @fa-var-vcard-o: "\f2bc";
751 | @fa-var-venus: "\f221";
752 | @fa-var-venus-double: "\f226";
753 | @fa-var-venus-mars: "\f228";
754 | @fa-var-viacoin: "\f237";
755 | @fa-var-viadeo: "\f2a9";
756 | @fa-var-viadeo-square: "\f2aa";
757 | @fa-var-video-camera: "\f03d";
758 | @fa-var-vimeo: "\f27d";
759 | @fa-var-vimeo-square: "\f194";
760 | @fa-var-vine: "\f1ca";
761 | @fa-var-vk: "\f189";
762 | @fa-var-volume-control-phone: "\f2a0";
763 | @fa-var-volume-down: "\f027";
764 | @fa-var-volume-off: "\f026";
765 | @fa-var-volume-up: "\f028";
766 | @fa-var-warning: "\f071";
767 | @fa-var-wechat: "\f1d7";
768 | @fa-var-weibo: "\f18a";
769 | @fa-var-weixin: "\f1d7";
770 | @fa-var-whatsapp: "\f232";
771 | @fa-var-wheelchair: "\f193";
772 | @fa-var-wheelchair-alt: "\f29b";
773 | @fa-var-wifi: "\f1eb";
774 | @fa-var-wikipedia-w: "\f266";
775 | @fa-var-window-close: "\f2d3";
776 | @fa-var-window-close-o: "\f2d4";
777 | @fa-var-window-maximize: "\f2d0";
778 | @fa-var-window-minimize: "\f2d1";
779 | @fa-var-window-restore: "\f2d2";
780 | @fa-var-windows: "\f17a";
781 | @fa-var-won: "\f159";
782 | @fa-var-wordpress: "\f19a";
783 | @fa-var-wpbeginner: "\f297";
784 | @fa-var-wpexplorer: "\f2de";
785 | @fa-var-wpforms: "\f298";
786 | @fa-var-wrench: "\f0ad";
787 | @fa-var-xing: "\f168";
788 | @fa-var-xing-square: "\f169";
789 | @fa-var-y-combinator: "\f23b";
790 | @fa-var-y-combinator-square: "\f1d4";
791 | @fa-var-yahoo: "\f19e";
792 | @fa-var-yc: "\f23b";
793 | @fa-var-yc-square: "\f1d4";
794 | @fa-var-yelp: "\f1e9";
795 | @fa-var-yen: "\f157";
796 | @fa-var-yoast: "\f2b1";
797 | @fa-var-youtube: "\f167";
798 | @fa-var-youtube-play: "\f16a";
799 | @fa-var-youtube-square: "\f166";
800 |
801 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | @mixin sr-only {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | @mixin sr-only-focusable {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { @include sr-only(); }
5 | .sr-only-focusable { @include sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/demo5/font-awesome-4.7.0/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 | @import "screen-reader";
19 |
--------------------------------------------------------------------------------
/demo5/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/logo.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_back_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_back_icon@2x.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_back_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_back_icon@3x.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_phone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_phone@2x.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_phone@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_phone@3x.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_web@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_web@2x.png
--------------------------------------------------------------------------------
/demo5/images/zjnews_web@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/laizimo/h5-demo/5de60e5663432c28b7082cd8c0c706a36604dd35/demo5/images/zjnews_web@3x.png
--------------------------------------------------------------------------------
/demo5/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
31 |
32 |
33 |

34 |
抱歉,来晚一步,这篇已经不存在了
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------