|
1 | 1 | <template>
|
2 | 2 | <div class="tdesign-demo-image-viewer__base">
|
3 |
| - <t-image-viewer v-model:visible="visible" draggable mode="modeless" :images="[img]"> |
4 |
| - <template #trigger> |
5 |
| - <div class="tdesign-demo-image-viewer__ui-image"> |
6 |
| - <img alt="test" :src="img" class="tdesign-demo-image-viewer__ui-image--img" /> |
7 |
| - <div class="tdesign-demo-image-viewer__ui-image--hover" @click="onOpen"> |
8 |
| - <span><BrowseIcon size="1.4em" /> 预览</span> |
9 |
| - </div> |
10 |
| - </div> |
11 |
| - </template> |
12 |
| - </t-image-viewer> |
| 3 | + <t-image-viewer draggable mode="modeless" :images="[img]"> </t-image-viewer> |
13 | 4 | </div>
|
14 | 5 | </template>
|
15 | 6 |
|
16 | 7 | <script lang="ts" setup>
|
17 |
| -import { ref } from 'vue'; |
18 |
| -import { BrowseIcon } from 'tdesign-icons-vue-next'; |
19 | 8 | const img = 'https://tdesign.gtimg.com/demo/demo-image-1.png';
|
20 |
| -const visible = ref(false); |
21 |
| -const onOpen = () => (visible.value = true); |
22 | 9 | </script>
|
23 | 10 |
|
24 | 11 | <style scoped>
|
25 |
| -.tdesign-demo-image-viewer__ui-image { |
26 |
| - width: 100%; |
27 |
| - height: 100%; |
28 |
| - display: inline-flex; |
29 |
| - position: relative; |
30 |
| - justify-content: center; |
31 |
| - align-items: center; |
32 |
| - border-radius: var(--td-radius-small); |
33 |
| - overflow: hidden; |
34 |
| -} |
35 |
| -
|
36 |
| -.tdesign-demo-image-viewer__ui-image--hover { |
37 |
| - width: 100%; |
38 |
| - height: 100%; |
39 |
| - display: flex; |
40 |
| - justify-content: center; |
41 |
| - align-items: center; |
42 |
| - position: absolute; |
43 |
| - left: 0; |
44 |
| - top: 0; |
45 |
| - opacity: 0; |
46 |
| - background-color: rgba(0, 0, 0, 0.6); |
47 |
| - color: var(--td-text-color-anti); |
48 |
| - line-height: 22px; |
49 |
| - transition: 0.2s; |
50 |
| -} |
51 |
| -
|
52 |
| -.tdesign-demo-image-viewer__ui-image:hover .tdesign-demo-image-viewer__ui-image--hover { |
53 |
| - opacity: 1; |
54 |
| - cursor: pointer; |
55 |
| -} |
56 |
| -
|
57 |
| -.tdesign-demo-image-viewer__ui-image--img { |
58 |
| - width: auto; |
59 |
| - height: auto; |
60 |
| - max-width: 100%; |
61 |
| - max-height: 100%; |
62 |
| - cursor: pointer; |
63 |
| - position: absolute; |
64 |
| -} |
65 |
| -
|
66 |
| -.tdesign-demo-image-viewer__ui-image--footer { |
67 |
| - padding: 0 16px; |
68 |
| - height: 56px; |
69 |
| - width: 100%; |
70 |
| - line-height: 56px; |
71 |
| - font-size: 16px; |
72 |
| - position: absolute; |
73 |
| - bottom: 0; |
74 |
| - color: var(--td-text-color-anti); |
75 |
| - background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%); |
76 |
| - display: flex; |
77 |
| - box-sizing: border-box; |
78 |
| -} |
79 |
| -
|
80 |
| -.tdesign-demo-image-viewer__ui-image--title { |
81 |
| - flex: 1; |
82 |
| -} |
83 |
| -
|
84 |
| -.tdesign-demo-popup__reference { |
85 |
| - margin-left: 16px; |
86 |
| -} |
87 |
| -
|
88 |
| -.tdesign-demo-image-viewer__ui-image--icons .tdesign-demo-icon { |
89 |
| - cursor: pointer; |
90 |
| -} |
91 |
| -
|
92 | 12 | .tdesign-demo-image-viewer__base {
|
93 | 13 | width: 160px;
|
94 | 14 | height: 160px;
|
|
0 commit comments