PluginProbe
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF / 1.9.13
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF v1.9.13
2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.9 2.2.8 trunk 1.10 1.3.3 1.3.4 1.3.5 1.3.5.1 1.3.5.2 1.3.6 1.3.6.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.5 All 103 releases
imagify / assets / css / twentytwenty.css

twentytwenty.css in Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF 1.9.13, at assets/css/twentytwenty.css

316 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Twentwenty image comparison
3 */
4 .twentytwenty-handle {
5 z-index: 40;
6 position: absolute;
7 left: 50%;
8 top: 50%;
9 height: 64px;
10 width: 64px;
11 margin-left: -32px;
12 margin-top: -32px;
13 border-radius: 50%;
14 box-shadow: 0 3px 0 #338EA6;
15 background: #40B1D0;
16 cursor: pointer;
17 }
18 .twentytwenty-horizontal .twentytwenty-handle:before,
19 .twentytwenty-horizontal .twentytwenty-handle:after {
20 left: 50%;
21 width: 2px;
22 height: 9999px;
23 margin-left: -1px;
24 }
25
26 .twentytwenty-horizontal .twentytwenty-handle:before {
27 bottom: 50%;
28 margin-bottom: 32px;
29 box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
30 }
31
32 .twentytwenty-horizontal .twentytwenty-handle:after {
33 top: 50%;
34 margin-top: 34px;
35 box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
36 }
37
38 .twentytwenty-horizontal .twentytwenty-handle:before,
39 .twentytwenty-horizontal .twentytwenty-handle:after {
40 content: "";
41 position: absolute;
42 z-index: 30;
43 display: block;
44 background: #F2F5F7;
45 box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
46 }
47
48 .twentytwenty-labels,
49 .twentytwenty-overlay {
50 position: absolute;
51 top: 0;
52 width: 100%;
53 height: 100%;
54 -webkit-transition-duration: 0.5s;
55 transition-duration: 0.5s;
56 }
57
58 .twentytwenty-labels {
59 opacity: 1;
60 -webkit-transition-property: opacity;
61 transition-property: opacity;
62 }
63
64 .twentytwenty-labels .twentytwenty-label-content {
65 position: absolute;
66 padding: 0 12px;
67 font-size: 13px;
68 letter-spacing: 0.1em;
69 line-height: 38px;
70 color: white;
71 background: #1F2332;
72 border-radius: 2px;
73 }
74
75 .twentytwenty-horizontal .twentytwenty-labels .twentytwenty-label-content {
76 bottom: 15px;
77 }
78
79 .twentytwenty-after-label .twentytwenty-label-content {
80 background: #40B1D0;
81 }
82
83 .twentytwenty-left-arrow,
84 .twentytwenty-right-arrow {
85 position: absolute;
86 width: 0;
87 height: 0;
88 border: 8px inset transparent;
89 }
90
91 .twentytwenty-left-arrow,
92 .twentytwenty-right-arrow {
93 top: 50%;
94 margin-top: -8px;
95 }
96
97 .twentytwenty-container {
98 box-sizing: content-box;
99 position: relative;
100 z-index: 0;
101 overflow: hidden;
102 box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
103 opacity: 0;
104 -webkit-transition: opacity 0.4s;
105 transition: opacity 0.4s;
106 -webkit-user-select: none;
107 -moz-user-select: none;
108 }
109
110 .twentytwenty-container * {
111 box-sizing: content-box;
112 }
113
114 .twentytwenty-container img {
115 position: absolute;
116 top: 0;
117 display: block;
118 width: 100%;
119 height: auto;
120 }
121
122 .loaded .twentytwenty-container {
123 opacity: 1;
124 }
125
126 .twentytwenty-container.active .twentytwenty-overlay .twentytwenty-labels,
127 .twentytwenty-container.active .twentytwenty-overlay:hover .twentytwenty-labels {
128 opacity: 0;
129 }
130
131 .twentytwenty-horizontal .twentytwenty-before-label .twentytwenty-label-content {
132 left: 15px;
133 }
134
135 .twentytwenty-horizontal .twentytwenty-after-label .twentytwenty-label-content {
136 right: 15px;
137 }
138
139 .twentytwenty-overlay {
140 z-index: 25;
141 }
142 .twentytwenty-before {
143 z-index: 20;
144 }
145 .twentytwenty-after {
146 z-index: 10;
147 }
148
149 /* Buttons for image choices */
150 .twentytwenty-duo-buttons {
151 position: absolute;
152 top: 10px;
153 z-index: 30;
154 overflow: hidden;
155 }
156
157 .twentytwenty-duo-buttons button {
158 float: left;
159 padding: 2px 6px;
160 font-size: 11px;
161 text-transform: uppercase;
162 letter-spacing: 0.125em;
163 font-weight: bold;
164 border: 0;
165 background: #1f2332;
166 color: #FFF;
167 transition: all .3s;
168 cursor: pointer;
169 }
170
171 .twentytwenty-duo-buttons button:hover,
172 .twentytwenty-duo-buttons button:focus {
173 background: #444;
174 }
175
176 .twentytwenty-duo-buttons button:first-child {
177 border-radius: 3px 0 0 3px;
178 }
179
180 .twentytwenty-duo-buttons button:last-child {
181 border-radius: 0 3px 3px 0;
182 }
183
184 .twentytwenty-duo-buttons button.selected {
185 background: #8bc34a;
186 text-shadow: 0 0 1px rgba(0,0,0,.2);
187 cursor: default;
188 }
189
190 .twentytwenty-duo-left {
191 left: 10px;
192 }
193
194 .twentytwenty-duo-right {
195 right: 10px;
196 }
197
198 .twentytwenty-left-arrow {
199 left: 50%;
200 margin-left: -22px;
201 border-right: 8px solid white;
202 }
203
204 .twentytwenty-right-arrow {
205 right: 50%;
206 margin-right: -22px;
207 border-left: 8px solid white;
208 }
209
210 #imagify-visual-comparison .close-btn,
211 .imagify-visual-comparison .close-btn {
212 top: 50px;
213 right: 5px;
214 width: 33px;
215 height: 33px;
216 padding: 1px 0 0 2px;
217 border: 1px solid #F2F2F2;
218 color: #F2F2F2;
219 line-height: 19px;
220 text-align: center;
221 border-radius: 50%;
222 }
223
224 .imagify-modal .imagify-comparison-title {
225 font-size: 28px;
226 margin-bottom: 1em;
227 color: #F2F2F2;
228 text-align: left;
229 }
230 .imagify-modal .imagify-comparison-title .twentytwenty-duo-buttons {
231 position: static;
232 margin: 0 10px 0 15px;
233 }
234 .imagify-comparison-title .twentytwenty-duo-buttons button {
235 float: none;
236 padding: 6px 12px;
237 font-size: 16px;
238 text-transform: none;
239 border: 1px solid #40B1D0;
240 color: #888899;
241 letter-spacing: 0;
242 }
243 .imagify-comparison-title .twentytwenty-duo-buttons button:focus {
244 outline: none;
245 box-shadow: none;
246 }
247 .imagify-comparison-title .twentytwenty-duo-buttons .selected {
248 border: 1px solid #40B1D0;
249 color: #FFF;
250 background: #40B1D0;
251 }
252
253 .imagify-comparison-levels {
254 margin: 15px 0;
255 overflow: hidden;
256 }
257 .imagify-comparison-levels .imagify-c-level {
258 display: none;
259 min-width: 175px;
260 font-size: 11px;
261 }
262 .imagify-c-level.go-left {
263 float: left;
264 }
265 .imagify-c-level.go-right {
266 float: right;
267 }
268 .imagify-c-level.go-right,
269 .imagify-c-level.go-left {
270 display: table;
271 }
272 .imagify-c-level .imagify-c-level-row {
273 display: table-row;
274 margin: 0;
275 color: #FFF;
276 }
277 .imagify-c-level-row > span {
278 display: table-cell;
279 padding: 2px 0;
280 }
281 .imagify-c-level-row .value {
282 text-align: right;
283 padding-left: 5px;
284 }
285 .imagify-c-level-row .value.level {
286 color: #40b1d0;
287 }
288 .imagify-c-level-row .value.size {
289 color: #8bc34a;
290 font-weight: bold;
291 }
292
293 /* TT Loader */
294 .imagify-modal .loader {
295 position: absolute;
296 top: 50%;
297 left: 50%;
298 margin: -32px 0 0 -32px;
299 opacity: 0;
300 visibility: hidden;
301 transition: opacity .4s;
302 }
303 .imagify-modal .loading .loader {
304 visibility: visible;
305 opacity: 1;
306 }
307
308 /* Specifics for too high modals */
309 .modal-is-too-high .imagify-comparison-levels {
310 position: absolute;
311 padding: 15px 20px;
312 background: rgba(31, 35, 50, 0.95);
313 bottom: 0; left: 0; right: 0;
314 margin-bottom: 0;
315 }
316