common.styl
3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/**
* minirefresh 的样式
*/
.minirefresh-wrap
position: absolute;
/*
* 标明了top和bottom 滑动的就是minirefresh-wrap而不再是document.body
*/
top: 0;
bottom: 0;
left: 0;
width: 100%;
/*
* 去除wrap层的滚动条,确保只有scrol层有滚动条
*/
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
/**
* 使用3d加速时,尽可能的使用index,防止浏览器默认给后续的元素创建复合层渲染
* 因为CSS3中,如果这个元素添加了硬件加速,并且index层级比较低,
* 在这个元素的后面其它元素(层级比这个元素高的,或者相同的,并且releative或absolute属性相同的),会默认变为复合层渲染
* 如果处理不当会极大的影响性能,可以用chrome的rending查看
*/
z-index: 1;
/**
* 内容区域的布局
* 一般来说布局内会包含上拉加载动画
* 但是不会包含下拉刷新动画
*/
.minirefresh-scroll
position: relative;
/*
* 默认背景色改成白色,直接避免下拉和正文重叠现象,可以覆盖
*/
background: #fff;
/**
* 如果开启了body监听scroll,需要将position都设置为releative
* 否则监听不到
* 默认这时候会覆盖minirefresh-wrap
*/
.body-scroll-wrap
position: relative;
/**
* 硬件加速样式,
* 开启后可以GPU渲染
* 但是代价是该图层需单独渲染
* 所以虽然效果不错,但慎用
* 容器有复杂动画时可以开启
*/
.minirefresh-hardware-speedup
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
transform: translateZ(0);
.minirefresh-hidden
display: none !important;
/**
* 滚动条
* */
.minirefresh-wrap
/*
* 滚动条轨道背景
* */
&::-webkit-scrollbar-track
background-color: transparent;
/*
* 滚动条轨道宽度
* */
&::-webkit-scrollbar
width: 6px;
.minirefresh-hide-scrollbar
/*
* 滚动条轨道宽度
* */
&::-webkit-scrollbar
width: 0;
.minirefresh-wrap
/*
* 滚动条游标
* */
&::-webkit-scrollbar-thumb
border-radius: 6px;
background-color: #ccc;
/*
* 滚动条游标鼠标经过的颜色变化
* */
&::-webkit-scrollbar-thumb
&:hover
background-color: #aaa;
@keyframes minirefresh-fade-in
0%
opacity: 0;
100%
opacity: 1;
@keyframes minirefresh-fade-out
0%
opacity: 1;
100%
opacity: 0;
@keyframes minirefresh-rotate
0%
-webkit-transform: rotateZ(0deg);
transform: rotateZ(0deg);
-moz-transform: rotate(0deg);
100%
-webkit-transform: rotateZ(360deg);
transform: rotateZ(360deg);
-moz-transform: rotate(360deg);
.minirefresh-rotate
-webkit-animation: minirefresh-rotate 0.6s linear infinite;
animation: minirefresh-rotate 0.6s linear infinite;
.minirefresh-fade-in
-webkit-animation: minirefresh-fade-in .5s linear forwards;
animation: minirefresh-fade-in .5s linear forwards;
.minirefresh-fade-out
pointer-events: none;
-webkit-animation: minirefresh-fade-out .5s linear forwards;
animation: minirefresh-fade-out .5s linear forwards;
/**
* 重写部分toTop样式,可以这样重新(没有空格)
* .minirefresh-totop.minirefresh-theme-default(或其它主题)
* 可以在外部重新这个样式来达到自定义的目的
* 由于totop和theme并列,所以这样取了
*/
.minirefresh-totop
position: fixed;
z-index: 9990;
right: 10px;
bottom: 30px;
width: 36px;
height: 36px;
border-radius: 50%;
background-image: url(images/minirefresh-totop.png);
background-size: 100% 100%;