OLD | NEW |
1 /* | 1 /* |
2 @license | 2 @license |
3 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | 3 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. |
4 This code may only be used under the BSD style license found at http://polym
er.github.io/LICENSE.txt | 4 This code may only be used under the BSD style license found at http://polym
er.github.io/LICENSE.txt |
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS
.txt | 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS
.txt |
6 The complete set of contributors may be found at http://polymer.github.io/CO
NTRIBUTORS.txt | 6 The complete set of contributors may be found at http://polymer.github.io/CO
NTRIBUTORS.txt |
7 Code distributed by Google as part of the polymer project is also | 7 Code distributed by Google as part of the polymer project is also |
8 subject to an additional IP rights grant found at http://polymer.github.io/P
ATENTS.txt | 8 subject to an additional IP rights grant found at http://polymer.github.io/P
ATENTS.txt |
9 */ | 9 */ |
10 | 10 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */ | 127 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */ |
128 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */ | 128 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */ |
129 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */ | 129 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */ |
130 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */ | 130 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */ |
131 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */ | 131 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */ |
132 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */ | 132 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */ |
133 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */ | 133 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */ |
134 to { transform: rotate(1080deg); } /* 4 * ARCSIZE */ | 134 to { transform: rotate(1080deg); } /* 4 * ARCSIZE */ |
135 } | 135 } |
136 | 136 |
| 137 /** |
| 138 * HACK: Even though the intention is to have the current .spinner-layer at |
| 139 * `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome |
| 140 * to do proper subpixel rendering for the elements being animated. This is |
| 141 * especially visible in Chrome 39 on Ubuntu 14.04. See: |
| 142 * |
| 143 * - https://github.com/Polymer/paper-spinner/issues/9 |
| 144 * - https://code.google.com/p/chromium/issues/detail?id=436255 |
| 145 */ |
137 @-webkit-keyframes blue-fade-in-out { | 146 @-webkit-keyframes blue-fade-in-out { |
138 from { opacity: 1; } | 147 from { opacity: 0.99; } |
139 25% { opacity: 1; } | 148 25% { opacity: 0.99; } |
140 26% { opacity: 0; } | 149 26% { opacity: 0; } |
141 89% { opacity: 0; } | 150 89% { opacity: 0; } |
142 90% { opacity: 1; } | 151 90% { opacity: 0.99; } |
143 100% { opacity: 1; } | 152 100% { opacity: 0.99; } |
144 } | 153 } |
145 | 154 |
146 @keyframes blue-fade-in-out { | 155 @keyframes blue-fade-in-out { |
147 from { opacity: 1; } | 156 from { opacity: 0.99; } |
148 25% { opacity: 1; } | 157 25% { opacity: 0.99; } |
149 26% { opacity: 0; } | 158 26% { opacity: 0; } |
150 89% { opacity: 0; } | 159 89% { opacity: 0; } |
151 90% { opacity: 1; } | 160 90% { opacity: 0.99; } |
152 100% { opacity: 1; } | 161 100% { opacity: 0.99; } |
153 } | 162 } |
154 | 163 |
155 @-webkit-keyframes red-fade-in-out { | 164 @-webkit-keyframes red-fade-in-out { |
156 from { opacity: 0; } | 165 from { opacity: 0; } |
157 15% { opacity: 0; } | 166 15% { opacity: 0; } |
158 25% { opacity: 1; } | 167 25% { opacity: 0.99; } |
159 50% { opacity: 1; } | 168 50% { opacity: 0.99; } |
160 51% { opacity: 0; } | 169 51% { opacity: 0; } |
161 } | 170 } |
162 | 171 |
163 @keyframes red-fade-in-out { | 172 @keyframes red-fade-in-out { |
164 from { opacity: 0; } | 173 from { opacity: 0; } |
165 15% { opacity: 0; } | 174 15% { opacity: 0; } |
166 25% { opacity: 1; } | 175 25% { opacity: 0.99; } |
167 50% { opacity: 1; } | 176 50% { opacity: 0.99; } |
168 51% { opacity: 0; } | 177 51% { opacity: 0; } |
169 } | 178 } |
170 | 179 |
171 @-webkit-keyframes yellow-fade-in-out { | 180 @-webkit-keyframes yellow-fade-in-out { |
172 from { opacity: 0; } | 181 from { opacity: 0; } |
173 40% { opacity: 0; } | 182 40% { opacity: 0; } |
174 50% { opacity: 1; } | 183 50% { opacity: 0.99; } |
175 75% { opacity: 1; } | 184 75% { opacity: 0.99; } |
176 76% { opacity: 0; } | 185 76% { opacity: 0; } |
177 } | 186 } |
178 | 187 |
179 @keyframes yellow-fade-in-out { | 188 @keyframes yellow-fade-in-out { |
180 from { opacity: 0; } | 189 from { opacity: 0; } |
181 40% { opacity: 0; } | 190 40% { opacity: 0; } |
182 50% { opacity: 1; } | 191 50% { opacity: 0.99; } |
183 75% { opacity: 1; } | 192 75% { opacity: 0.99; } |
184 76% { opacity: 0; } | 193 76% { opacity: 0; } |
185 } | 194 } |
186 | 195 |
187 @-webkit-keyframes green-fade-in-out { | 196 @-webkit-keyframes green-fade-in-out { |
188 from { opacity: 0; } | 197 from { opacity: 0; } |
189 65% { opacity: 0; } | 198 65% { opacity: 0; } |
190 75% { opacity: 1; } | 199 75% { opacity: 0.99; } |
191 90% { opacity: 1; } | 200 90% { opacity: 0.99; } |
192 100% { opacity: 0; } | 201 100% { opacity: 0; } |
193 } | 202 } |
194 | 203 |
195 @keyframes green-fade-in-out { | 204 @keyframes green-fade-in-out { |
196 from { opacity: 0; } | 205 from { opacity: 0; } |
197 65% { opacity: 0; } | 206 65% { opacity: 0; } |
198 75% { opacity: 1; } | 207 75% { opacity: 0.99; } |
199 90% { opacity: 1; } | 208 90% { opacity: 0.99; } |
200 100% { opacity: 0; } | 209 100% { opacity: 0; } |
201 } | 210 } |
202 | 211 |
203 /** | 212 /** |
204 * Patch the gap that appear between the two adjacent div.circle-clipper while t
he | 213 * Patch the gap that appear between the two adjacent div.circle-clipper while t
he |
205 * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11). | 214 * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11). |
| 215 * |
| 216 * Update: the gap no longer appears on Chrome when .spinner-layer's opacity is
0.99, |
| 217 * but still does on Safari and IE. |
206 */ | 218 */ |
207 .gap-patch { | 219 .gap-patch { |
208 position: absolute; | 220 position: absolute; |
209 box-sizing: border-box; | 221 box-sizing: border-box; |
210 top: 0; | 222 top: 0; |
211 left: 45%; | 223 left: 45%; |
212 width: 10%; | 224 width: 10%; |
213 height: 100%; | 225 height: 100%; |
214 overflow: hidden; | 226 overflow: hidden; |
215 border-color: inherit; | 227 border-color: inherit; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 to { transform: rotate(-130deg); } | 306 to { transform: rotate(-130deg); } |
295 } | 307 } |
296 | 308 |
297 #spinnerContainer.cooldown { | 309 #spinnerContainer.cooldown { |
298 /* duration: SHRINK_TIME */ | 310 /* duration: SHRINK_TIME */ |
299 -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cub
ic-bezier(0.4, 0.0, 0.2, 1); | 311 -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cub
ic-bezier(0.4, 0.0, 0.2, 1); |
300 animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezie
r(0.4, 0.0, 0.2, 1); | 312 animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezie
r(0.4, 0.0, 0.2, 1); |
301 } | 313 } |
302 | 314 |
303 @-webkit-keyframes fade-out { | 315 @-webkit-keyframes fade-out { |
304 from { opacity: 1; } | 316 from { opacity: 0.99; } |
305 to { opacity: 0; } | 317 to { opacity: 0; } |
306 } | 318 } |
307 | 319 |
308 @keyframes fade-out { | 320 @keyframes fade-out { |
309 from { opacity: 1; } | 321 from { opacity: 0.99; } |
310 to { opacity: 0; } | 322 to { opacity: 0; } |
311 } | 323 } |
OLD | NEW |