UNPKG

8.21 kBCSSView Raw
1.rc-image {
2 display: inline-flex;
3 position: relative;
4}
5.rc-image-img {
6 width: 100%;
7 height: auto;
8}
9.rc-image-img-placeholder {
10 background-color: #f3f3f3;
11 background-repeat: no-repeat;
12 background-position: center center;
13 background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyMnB4IiB2aWV3Qm94PSIwIDAgMjggMjIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5pbWFnZS1maWxs5aSH5Lu9PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Iuafpeeci+WbvueJh+S8mOWMljQuMCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWKoOi9veWbvueJhyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU3Mi4wMDAwMDAsIC01MDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJpbWFnZS1maWxs5aSH5Lu9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzAuMDAwMDAwLCA1MDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMDAwMDAwIiBvcGFjaXR5PSIwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOSw1IEwzLDUgQzIuNDQ2ODc1LDUgMiw1LjQ0Njg3NSAyLDYgTDIsMjYgQzIsMjYuNTUzMTI1IDIuNDQ2ODc1LDI3IDMsMjcgTDI5LDI3IEMyOS41NTMxMjUsMjcgMzAsMjYuNTUzMTI1IDMwLDI2IEwzMCw2IEMzMCw1LjQ0Njg3NSAyOS41NTMxMjUsNSAyOSw1IFogTTEwLjU2MjUsOS41IEMxMS42NjU2MjUsOS41IDEyLjU2MjUsMTAuMzk2ODc1IDEyLjU2MjUsMTEuNSBDMTIuNTYyNSwxMi42MDMxMjUgMTEuNjY1NjI1LDEzLjUgMTAuNTYyNSwxMy41IEM5LjQ1OTM3NSwxMy41IDguNTYyNSwxMi42MDMxMjUgOC41NjI1LDExLjUgQzguNTYyNSwxMC4zOTY4NzUgOS40NTkzNzUsOS41IDEwLjU2MjUsOS41IFogTTI2LjYyMTg3NSwyMy4xNTkzNzUgQzI2LjU3ODEyNSwyMy4xOTY4NzUgMjYuNTE4NzUsMjMuMjE4NzUgMjYuNDU5Mzc1LDIzLjIxODc1IEw1LjUzNzUsMjMuMjE4NzUgQzUuNCwyMy4yMTg3NSA1LjI4NzUsMjMuMTA2MjUgNS4yODc1LDIyLjk2ODc1IEM1LjI4NzUsMjIuOTA5Mzc1IDUuMzA5Mzc1LDIyLjg1MzEyNSA1LjM0Njg3NSwyMi44MDYyNSBMMTAuNjY4NzUsMTYuNDkzNzUgQzEwLjc1NjI1LDE2LjM4NzUgMTAuOTE1NjI1LDE2LjM3NSAxMS4wMjE4NzUsMTYuNDYyNSBDMTEuMDMxMjUsMTYuNDcxODc1IDExLjA0Mzc1LDE2LjQ4MTI1IDExLjA1MzEyNSwxNi40OTM3NSBMMTQuMTU5Mzc1LDIwLjE4MTI1IEwxOS4xLDE0LjMyMTg3NSBDMTkuMTg3NSwxNC4yMTU2MjUgMTkuMzQ2ODc1LDE0LjIwMzEyNSAxOS40NTMxMjUsMTQuMjkwNjI1IEMxOS40NjI1LDE0LjMgMTkuNDc1LDE0LjMwOTM3NSAxOS40ODQzNzUsMTQuMzIxODc1IEwyNi42NTkzNzUsMjIuODA5Mzc1IEMyNi43NDA2MjUsMjIuOTEyNSAyNi43MjgxMjUsMjMuMDcxODc1IDI2LjYyMTg3NSwyMy4xNTkzNzUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRThFOEU4Ij48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
14}
15.rc-image-placeholder {
16 position: absolute;
17 top: 0;
18 left: 0;
19 right: 0;
20 bottom: 0;
21}
22.rc-image-mask {
23 position: absolute;
24 left: 0;
25 right: 0;
26 top: 0;
27 bottom: 0;
28 background: rgba(0, 0, 0, 0.3);
29 opacity: 0;
30 pointer-events: none;
31 display: flex;
32 align-items: center;
33 justify-content: center;
34 color: #fff;
35 transition: opacity 0.3s;
36}
37.rc-image:hover .rc-image-mask {
38 opacity: 1;
39}
40.rc-image-preview {
41 text-align: center;
42 height: 100%;
43 pointer-events: none;
44}
45.rc-image-preview-body {
46 position: absolute;
47 top: 0;
48 left: 0;
49 right: 0;
50 bottom: 0;
51 overflow: hidden;
52}
53.rc-image-preview.zoom-enter,
54.rc-image-preview.zoom-appear {
55 transform: none;
56 opacity: 0;
57 animation-duration: 0.3s;
58}
59.rc-image-preview-mask {
60 position: fixed;
61 top: 0;
62 right: 0;
63 bottom: 0;
64 left: 0;
65 z-index: 1000;
66 height: 100%;
67 background-color: rgba(0, 0, 0, 0.45);
68}
69.rc-image-preview-mask-hidden {
70 display: none;
71}
72.rc-image-preview-img {
73 cursor: grab;
74 transform: scale3d(1, 1, 1);
75 transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
76 user-select: none;
77 vertical-align: middle;
78 max-width: 100%;
79 max-height: 70%;
80}
81.rc-image-preview-img-wrapper {
82 position: absolute;
83 top: 0;
84 left: 0;
85 right: 0;
86 bottom: 0;
87 display: flex;
88 justify-content: center;
89 align-items: center;
90}
91.rc-image-preview-img-wrapper > * {
92 pointer-events: auto;
93}
94.rc-image-preview-moving .rc-image-preview-img {
95 cursor: grabbing;
96}
97.rc-image-preview-moving .rc-image-preview-img-wrapper {
98 transition-duration: 0s;
99}
100.rc-image-preview-wrap {
101 position: fixed;
102 top: 0;
103 right: 0;
104 bottom: 0;
105 left: 0;
106 z-index: 1000;
107 overflow: auto;
108 outline: 0;
109 -webkit-overflow-scrolling: touch;
110}
111.rc-image-preview-close {
112 position: fixed;
113 top: 32px;
114 right: 32px;
115 display: flex;
116 color: #fff;
117 background-color: rgba(0, 0, 0, 0.5);
118 border-radius: 50%;
119 padding: 15px;
120 outline: 0;
121 border: 0;
122 cursor: pointer;
123}
124.rc-image-preview-close:hover {
125 opacity: 0.3;
126}
127.rc-image-preview-operations-wrapper {
128 position: fixed;
129 z-index: 1001;
130}
131.rc-image-preview-footer {
132 position: fixed;
133 z-index: 1001;
134 bottom: 32px;
135 left: 0;
136 width: 100%;
137 display: flex;
138 flex-direction: column;
139 align-items: center;
140}
141.rc-image-preview-progress {
142 margin-bottom: 20px;
143}
144.rc-image-preview-operations {
145 display: flex;
146 color: #bbb;
147 background: rgba(0, 0, 0, 0.45);
148 border-radius: 100px;
149 padding: 0 20px;
150}
151.rc-image-preview-operations-operation {
152 padding: 10px;
153 cursor: pointer;
154 margin-left: 10px;
155 font-size: 18px;
156}
157.rc-image-preview-operations-operation-disabled {
158 pointer-events: none;
159 color: #6e6e6e;
160}
161.rc-image-preview-operations-operation:first-of-type {
162 margin-left: 0;
163}
164.rc-image-preview-switch-left {
165 position: fixed;
166 left: 10px;
167 top: 50%;
168 width: 44px;
169 height: 44px;
170 margin-top: -22px;
171 background: rgba(187, 187, 187, 0.45);
172 border-radius: 50%;
173 display: flex;
174 align-items: center;
175 justify-content: center;
176 z-index: 1001;
177 cursor: pointer;
178 color: #bbb;
179}
180.rc-image-preview-switch-left-disabled {
181 background: rgba(187, 187, 187, 0.3);
182 color: #6e6e6e;
183 cursor: not-allowed;
184}
185.rc-image-preview-switch-left-disabled > .anticon {
186 cursor: not-allowed;
187}
188.rc-image-preview-switch-left > .anticon {
189 font-size: 24px;
190}
191.rc-image-preview-switch-right {
192 position: fixed;
193 right: 10px;
194 top: 50%;
195 width: 44px;
196 height: 44px;
197 margin-top: -22px;
198 background: rgba(187, 187, 187, 0.45);
199 border-radius: 50%;
200 display: flex;
201 align-items: center;
202 justify-content: center;
203 z-index: 1001;
204 cursor: pointer;
205 color: #bbb;
206}
207.rc-image-preview-switch-right-disabled {
208 background: rgba(187, 187, 187, 0.2);
209 color: #6e6e6e;
210 cursor: not-allowed;
211}
212.rc-image-preview-switch-right-disabled > .anticon {
213 cursor: not-allowed;
214}
215.rc-image-preview-switch-right > .anticon {
216 font-size: 24px;
217}
218.fade-enter,
219.fade-appear {
220 animation-duration: 0.3s;
221 animation-fill-mode: both;
222 animation-play-state: paused;
223}
224.fade-leave {
225 animation-duration: 0.3s;
226 animation-fill-mode: both;
227 animation-play-state: paused;
228}
229.fade-enter.fade-enter-active,
230.fade-appear.fade-appear-active {
231 animation-name: rcImageFadeIn;
232 animation-play-state: running;
233}
234.fade-leave.fade-leave-active {
235 animation-name: rcImageFadeOut;
236 animation-play-state: running;
237 pointer-events: none;
238}
239.fade-enter,
240.fade-appear {
241 opacity: 0;
242 animation-timing-function: linear;
243}
244.fade-leave {
245 animation-timing-function: linear;
246}
247@keyframes rcImageFadeIn {
248 0% {
249 opacity: 0;
250 }
251 100% {
252 opacity: 1;
253 }
254}
255@keyframes rcImageFadeOut {
256 0% {
257 opacity: 1;
258 }
259 100% {
260 opacity: 0;
261 }
262}
263.zoom-enter,
264.zoom-appear {
265 animation-duration: 0.3s;
266 animation-fill-mode: both;
267 animation-play-state: paused;
268}
269.zoom-leave {
270 animation-duration: 0.3s;
271 animation-fill-mode: both;
272 animation-play-state: paused;
273}
274.zoom-enter.zoom-enter-active,
275.zoom-appear.zoom-appear-active {
276 animation-name: rcImageZoomIn;
277 animation-play-state: running;
278}
279.zoom-leave.zoom-leave-active {
280 animation-name: rcImageZoomOut;
281 animation-play-state: running;
282 pointer-events: none;
283}
284.zoom-enter,
285.zoom-appear {
286 transform: scale(0);
287 opacity: 0;
288 animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
289}
290.zoom-leave {
291 animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
292}
293@keyframes rcImageZoomIn {
294 0% {
295 transform: scale(0.2);
296 opacity: 0;
297 }
298 100% {
299 transform: scale(1);
300 opacity: 1;
301 }
302}
303@keyframes rcImageZoomOut {
304 0% {
305 transform: scale(1);
306 }
307 100% {
308 transform: scale(0.2);
309 opacity: 0;
310 }
311}