@shijiu/jsview-vue-samples 2.2.201 → 2.2.426-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BakeViewDemo/App.vue +6 -1
- package/Basic/components/anim/AnimEasingCubicBezier.vue +56 -0
- package/Basic/components/anim/AnimGroup2.vue +33 -0
- package/Basic/components/panel/Panel2.vue +8 -3
- package/Basic/components/text/TextDirection.vue +0 -1
- package/ColorSpace/App.vue +2 -2
- package/CoupletsTest/widget/Banger/Maroon.vue +0 -1
- package/CoupletsTest/widget/Fireworks/Fireworks.vue +0 -2
- package/CssPreprocessor/Stylus/components/stylus-group1/StylusOperations.vue +0 -1
- package/CssPreprocessor/utils/ContentBlock.vue +3 -3
- package/CssPreprocessor/utils/{FontStyle.css → FontConfig.css} +3 -3
- package/CssPreprocessor/utils/TitleBar.vue +2 -2
- package/CustomShader/App.vue +32 -15
- package/CustomShader/pageFlip.glsl +3 -2
- package/DemoHomepage/App.vue +14 -5
- package/DemoHomepage/components/Item.vue +23 -12
- package/DemoHomepage/index.d.ts +5 -2
- package/DemoHomepage/router.js +97 -74
- package/DemoHomepage/views/Homepage.vue +0 -4
- package/DispersedFocusControl/App.vue +67 -0
- package/DispersedFocusControl/Button.vue +76 -0
- package/DispersedFocusControl/data.js +44 -0
- package/DivMetroPerformance/components/ContentItem.vue +0 -1
- package/DragBox/App.vue +148 -0
- package/FlexCellDemo/App.vue +47 -223
- package/FlexCellDemo/TestFrame1.vue +84 -0
- package/FlexCellDemo/TestFrame2.vue +100 -0
- package/FlexCellDemo/TestFrame3.vue +97 -0
- package/FlexCellDemo/TestFrame4.vue +60 -0
- package/FlexCellDemo/TestFrame5.vue +60 -0
- package/FlexCellDemo/images/6.jpg +0 -0
- package/FocusMoveStyle/App.vue +1 -0
- package/FocusMoveStyle/CreepFocus.vue +11 -1
- package/FocusMoveStyle/FoldableItem.vue +1 -1
- package/FullScreenFlex/App.vue +42 -0
- package/FullScreenFlex/TestFrame2.vue +107 -0
- package/FullScreenFlex/images/1.png +0 -0
- package/GiftRain/App.vue +0 -3
- package/HashHistory/App.vue +8 -4
- package/HashParams/App.vue +0 -1
- package/Input/App.vue +184 -97
- package/Input/InputPanel.vue +98 -82
- package/JsvPreDownloader/App.vue +0 -2
- package/LatexFormula/App.vue +97 -10
- package/Marquee/App.vue +2 -2
- package/MetroWidgetDemos/MassiveItems/ContentItem.vue +0 -1
- package/MetroWidgetDemos/PerformanceTest/components/ContentItem.vue +0 -1
- package/MetroWidgetDemos/PerformanceTest/components/MyTab.vue +18 -17
- package/MetroWidgetDemos/itemSizeUpdate/backward/Item.vue +1 -1
- package/MetroWidgetDemos/routeList.js +17 -17
- package/MindMap/App.vue +10 -1
- package/MindMap/data.js +34 -8
- package/Parkour/appConfig/jsview.config.mjs +0 -4
- package/PosterPacker/App.vue +207 -0
- package/PosterPacker/images/bg.jpg +0 -0
- package/PosterPacker/images/blue.png +0 -0
- package/PosterPacker/images/darkGreen.png +0 -0
- package/PosterPacker/images/left.png +0 -0
- package/PosterPacker/images/orange.png +0 -0
- package/PosterPacker/images/pink.png +0 -0
- package/PosterPacker/images/purple.png +0 -0
- package/PosterPacker/images/red.png +0 -0
- package/PosterPacker/images/right.png +0 -0
- package/PosterPacker/images/yellowGreen.png +0 -0
- package/PosterPacker/tools/geniePakcer/Genie.vue +686 -0
- package/PosterPacker/tools/geniePakcer/genieBottom.glsl +49 -0
- package/PosterPacker/tools/geniePakcer/genieLeft.glsl +50 -0
- package/PosterPacker/tools/geniePakcer/genieRight.glsl +57 -0
- package/PosterPacker/tools/geniePakcer/genieTop.glsl +50 -0
- package/PosterPacker/tools/particlePacker/Particle.vue +71 -0
- package/PosterPacker/tools/vortexPacker/Vortex.vue +135 -0
- package/PosterPacker/tools/vortexPacker/vortex.glsl +37 -0
- package/Preload/App.vue +1 -1
- package/ScaleDownNeon/App.vue +13 -10
- package/SceneTransition/App.vue +5 -4
- package/ScrollBoxTest/ClipBar.vue +1 -0
- package/ScrollBoxTest/NinePatchBar.vue +1 -0
- package/ScrollBoxTest/SizeDivBar.vue +1 -0
- package/SprayMove/App.vue +75 -0
- package/SprayMove/SprayMove.vue +173 -0
- package/SprayView/App.vue +8 -9
- package/TestNativeSharedView/App.vue +6 -4
- package/TextShadowDemo/App.vue +3 -3
- package/TextureAnimation/App.vue +237 -151
- package/TextureAnimation/App2.vue +66 -14
- package/TextureAnimation/assets/blackWhiteTurntable.png +0 -0
- package/TextureAnimation/assets/circleHaloMask.png +0 -0
- package/TextureSize/App.vue +5 -6
- package/TouchWidget/App.vue +79 -40
- package/TouchWidget/Item.vue +15 -3
- package/ViewOpacity/App.vue +4 -5
- package/index.d.ts +1 -1
- package/package.json +1 -1
- package/TextureAnimation/assets/mask.png +0 -0
- package/TextureAnimation/assets/php.jpg +0 -0
- package/TouchSample/App.vue +0 -136
- package/TouchSample/Item.vue +0 -102
- package/TouchSample/MetroWidgetHorizontal.vue +0 -144
- package/TouchSample/MetroWidgetVertical.vue +0 -144
- package/TouchSample/TouchContainerHorizontal.vue +0 -160
- package/TouchSample/TouchContainerVertical.vue +0 -160
- package/TouchSample/data.js +0 -81
- /package/TextureAnimation/assets/{php2.png → borderOpacity.png} +0 -0
package/DragBox/App.vue
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { JsvDragBox } from "jsview";
|
|
3
|
+
import { shallowRef, onMounted, ref, computed } from "vue";
|
|
4
|
+
|
|
5
|
+
const vDragBox1 = shallowRef();
|
|
6
|
+
const vDragBox2 = shallowRef();
|
|
7
|
+
const vHole1Fitted = ref(false);
|
|
8
|
+
const vHole2Fitted = ref(false);
|
|
9
|
+
|
|
10
|
+
const vHole1Text = computed(() => {
|
|
11
|
+
return vHole1Fitted.value ? "已放入" : "未放入";
|
|
12
|
+
});
|
|
13
|
+
const vHole2Text = computed(() => {
|
|
14
|
+
return vHole2Fitted.value ? "已放入" : "未放入";
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const hole1Style = {
|
|
18
|
+
left: 50,
|
|
19
|
+
top: 200,
|
|
20
|
+
width: 100,
|
|
21
|
+
height: 100,
|
|
22
|
+
backgroundColor: "#00FF0088",
|
|
23
|
+
};
|
|
24
|
+
const hole2Style = {
|
|
25
|
+
left: 200,
|
|
26
|
+
top: 300,
|
|
27
|
+
width: 100,
|
|
28
|
+
height: 50,
|
|
29
|
+
backgroundColor: "#0000FF88",
|
|
30
|
+
};
|
|
31
|
+
function ifFit(cur, target) {
|
|
32
|
+
return (
|
|
33
|
+
Math.abs(cur.left - target.left) < 10 && Math.abs(cur.top - target.top) < 10
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
function onMove1(pos) {
|
|
37
|
+
vHole1Fitted.value = ifFit(pos, hole1Style);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function onMove2(pos) {
|
|
41
|
+
vHole2Fitted.value = ifFit(pos, hole2Style);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const cBoxRect = {
|
|
45
|
+
left: 100,
|
|
46
|
+
top: 100,
|
|
47
|
+
width: 400,
|
|
48
|
+
height: 400,
|
|
49
|
+
};
|
|
50
|
+
onMounted(() => {
|
|
51
|
+
vDragBox1.value.setSensor(onMove1, 12);
|
|
52
|
+
vDragBox1.value.setTouchCallback(
|
|
53
|
+
(pos) => {
|
|
54
|
+
console.log("1 drag start", pos);
|
|
55
|
+
},
|
|
56
|
+
(pos) => {
|
|
57
|
+
let p = vDragBox1.value.getPosition();
|
|
58
|
+
console.log("1 drag end", pos, p);
|
|
59
|
+
if (ifFit(p, hole1Style)) {
|
|
60
|
+
vDragBox1.value.moveTo(hole1Style.left, hole1Style.top);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
vDragBox2.value.setSensor(onMove2, 12);
|
|
65
|
+
vDragBox2.value.setTouchCallback(
|
|
66
|
+
(pos) => {
|
|
67
|
+
console.log("2 drag start", pos);
|
|
68
|
+
},
|
|
69
|
+
(pos) => {
|
|
70
|
+
let p = vDragBox2.value.getPosition();
|
|
71
|
+
console.log("2 drag end", pos, p);
|
|
72
|
+
if (ifFit(p, hole2Style)) {
|
|
73
|
+
vDragBox2.value.moveTo(hole2Style.left, hole2Style.top);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
</script>
|
|
79
|
+
<template>
|
|
80
|
+
<div :style="{ width: 1280, height: 720, backgroundColor: '#ffffff' }"></div>
|
|
81
|
+
<div
|
|
82
|
+
:style="{
|
|
83
|
+
...cBoxRect,
|
|
84
|
+
backgroundColor: '#ff0000aa',
|
|
85
|
+
}"
|
|
86
|
+
>
|
|
87
|
+
<div :style="hole1Style"></div>
|
|
88
|
+
<div :style="hole2Style"></div>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<div :style="{
|
|
92
|
+
left: 20,
|
|
93
|
+
top: 20,
|
|
94
|
+
width: 1280,
|
|
95
|
+
height: 100,
|
|
96
|
+
fontSize: 30,
|
|
97
|
+
color: '#000000'
|
|
98
|
+
}">
|
|
99
|
+
拖动带文字的方块放入对应的矩形中, 当拖动到附近时释放后会自动吸附
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<jsv-drag-box
|
|
103
|
+
ref="vDragBox1"
|
|
104
|
+
:boxRect="cBoxRect"
|
|
105
|
+
:dragRect="{
|
|
106
|
+
left: 50,
|
|
107
|
+
top: 50,
|
|
108
|
+
width: hole1Style.width,
|
|
109
|
+
height: hole1Style.height,
|
|
110
|
+
}"
|
|
111
|
+
>
|
|
112
|
+
<div
|
|
113
|
+
:style="{
|
|
114
|
+
width: hole1Style.width,
|
|
115
|
+
height: hole1Style.height,
|
|
116
|
+
backgroundColor: '#00FF00',
|
|
117
|
+
lineHeight: hole1Style.height,
|
|
118
|
+
fontSize: 20,
|
|
119
|
+
}"
|
|
120
|
+
>
|
|
121
|
+
{{ vHole1Text }}
|
|
122
|
+
</div>
|
|
123
|
+
</jsv-drag-box>
|
|
124
|
+
|
|
125
|
+
<jsv-drag-box
|
|
126
|
+
ref="vDragBox2"
|
|
127
|
+
:boxRect="cBoxRect"
|
|
128
|
+
:dragRect="{
|
|
129
|
+
left: 250,
|
|
130
|
+
top: 50,
|
|
131
|
+
width: hole2Style.width,
|
|
132
|
+
height: hole2Style.height,
|
|
133
|
+
}"
|
|
134
|
+
>
|
|
135
|
+
<div
|
|
136
|
+
:style="{
|
|
137
|
+
width: hole2Style.width,
|
|
138
|
+
height: hole2Style.height,
|
|
139
|
+
backgroundColor: '#0000FF',
|
|
140
|
+
lineHeight: hole2Style.height,
|
|
141
|
+
fontSize: 20,
|
|
142
|
+
color: '#ffffff',
|
|
143
|
+
}"
|
|
144
|
+
>
|
|
145
|
+
{{ vHole2Text }}
|
|
146
|
+
</div>
|
|
147
|
+
</jsv-drag-box>
|
|
148
|
+
</template>
|
package/FlexCellDemo/App.vue
CHANGED
|
@@ -6,9 +6,14 @@
|
|
|
6
6
|
* @Description: file content
|
|
7
7
|
-->
|
|
8
8
|
<script setup>
|
|
9
|
-
import {
|
|
9
|
+
import { onMounted, shallowRef } from "vue";
|
|
10
10
|
import { useRouter } from "vue-router";
|
|
11
|
-
import { JsvFlexDiv, jJsvRuntimeBridge } from "jsview";
|
|
11
|
+
import { JsvFlexDiv, jJsvRuntimeBridge, DefaultKeyCodeMap } from "jsview";
|
|
12
|
+
import TestFrame1 from "./TestFrame1.vue";
|
|
13
|
+
import TestFrame2 from "./TestFrame2.vue";
|
|
14
|
+
import TestFrame3 from "./TestFrame3.vue";
|
|
15
|
+
import TestFrame4 from "./TestFrame4.vue";
|
|
16
|
+
import TestFrame5 from "./TestFrame5.vue";
|
|
12
17
|
|
|
13
18
|
import image1 from "./images/1.png";
|
|
14
19
|
import image2 from "./images/2.png";
|
|
@@ -18,25 +23,33 @@ import image4 from "./images/4.jpg";
|
|
|
18
23
|
const router = useRouter();
|
|
19
24
|
|
|
20
25
|
const enableManualDemo = false;
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
const cEnableTestArray = [
|
|
27
|
+
{ open: true, comp: TestFrame1 },
|
|
28
|
+
{ open: true, comp: TestFrame2 },
|
|
29
|
+
{ open: true, comp: TestFrame3 },
|
|
30
|
+
{ open: true, comp: TestFrame4 },
|
|
31
|
+
{ open: true, comp: TestFrame5 },
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
let vDivLeft = shallowRef(0);
|
|
35
|
+
const cMoveLeftGap = 350;
|
|
24
36
|
|
|
25
37
|
const _onKeyDown = (ev) => {
|
|
26
38
|
if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
|
|
27
39
|
router.go(-1); // 有router时,是从DemoHomepage进入,回退
|
|
40
|
+
} else if (ev.keyCode == DefaultKeyCodeMap.Left) {
|
|
41
|
+
if (vDivLeft.value > 0) {
|
|
42
|
+
vDivLeft.value -= cMoveLeftGap;
|
|
43
|
+
}
|
|
44
|
+
} else if (ev.keyCode == DefaultKeyCodeMap.Right) {
|
|
45
|
+
if (vDivLeft.value < cMoveLeftGap * (cEnableTestArray.length - 2)) {
|
|
46
|
+
vDivLeft.value += cMoveLeftGap;
|
|
47
|
+
}
|
|
28
48
|
}
|
|
29
49
|
|
|
30
50
|
return true;
|
|
31
51
|
};
|
|
32
52
|
|
|
33
|
-
const _onSizeTest1_1 = (width, height) => {
|
|
34
|
-
console.log(`Flex ready Test1_1 w=${width} h=${height}`);
|
|
35
|
-
};
|
|
36
|
-
const _onSizeTest1_2 = (width, height) => {
|
|
37
|
-
console.log(`Flex ready Test1_2 w=${width} h=${height}`);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
53
|
onMounted(() => {
|
|
41
54
|
jJsvRuntimeBridge.notifyPageLoaded();
|
|
42
55
|
});
|
|
@@ -66,6 +79,7 @@ onMounted(() => {
|
|
|
66
79
|
>
|
|
67
80
|
<jsv-flex-div
|
|
68
81
|
:style="{
|
|
82
|
+
width: 300,
|
|
69
83
|
height: 400,
|
|
70
84
|
flexDirection: 'row',
|
|
71
85
|
flexWrap: 'wrap',
|
|
@@ -77,43 +91,8 @@ onMounted(() => {
|
|
|
77
91
|
>
|
|
78
92
|
<!-- 测试主轴尺寸未给的场景下的撑大处理, 复用父节点的width -->
|
|
79
93
|
<jsv-flex-div :style="{ flexWrap: 'wrap' }" :onSized="_onSizeTest1_2">
|
|
80
|
-
<img :src="image1" :style="{ height:
|
|
81
|
-
<img :src="image2" :style="{ height: 60 }" />
|
|
82
|
-
<img :src="image1" :style="{ height: 45 }" />
|
|
83
|
-
<img :src="image1" :style="{ height: 45 }" />
|
|
84
|
-
</jsv-flex-div>
|
|
85
|
-
<img :src="image3" :style="{ height: 50 }" />
|
|
86
|
-
<img :src="image4" :style="{ height: 50 }" />
|
|
87
|
-
</jsv-flex-div>
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
<!-- 测试人员自动测试时打开,最左端测试样例 -->
|
|
91
|
-
<div
|
|
92
|
-
v-if="!enableManualDemo && enableTest1"
|
|
93
|
-
:style="{
|
|
94
|
-
top: 150,
|
|
95
|
-
left: 50,
|
|
96
|
-
width: 300,
|
|
97
|
-
height: 400,
|
|
98
|
-
backgroundColor: 'rgba(0,128,128,0.5)',
|
|
99
|
-
}"
|
|
100
|
-
>
|
|
101
|
-
<jsv-flex-div
|
|
102
|
-
:style="{
|
|
103
|
-
height: 400,
|
|
104
|
-
flexDirection: 'row',
|
|
105
|
-
flexWrap: 'wrap',
|
|
106
|
-
justifyContent: 'flex-end',
|
|
107
|
-
alignItems: 'flex-start',
|
|
108
|
-
alignContent: 'center',
|
|
109
|
-
}"
|
|
110
|
-
:onSized="_onSizeTest1_1"
|
|
111
|
-
>
|
|
112
|
-
<!-- 测试主轴尺寸未给的场景下的撑大处理, 复用父节点的width -->
|
|
113
|
-
<jsv-flex-div :style="{ flexWrap: 'wrap' }" :onSized="_onSizeTest1_2">
|
|
114
|
-
<img :src="image1" :style="{ height: 45 }" />
|
|
94
|
+
<img :src="image1" :style="{ height: 80 }" />
|
|
115
95
|
<img :src="image2" :style="{ height: 60 }" />
|
|
116
|
-
<div :style="{ height: 60, width: 60, backgroundColor: '#FF0000' }" />
|
|
117
96
|
<img :src="image1" :style="{ height: 45 }" />
|
|
118
97
|
<img :src="image1" :style="{ height: 45 }" />
|
|
119
98
|
</jsv-flex-div>
|
|
@@ -122,192 +101,37 @@ onMounted(() => {
|
|
|
122
101
|
</jsv-flex-div>
|
|
123
102
|
</div>
|
|
124
103
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
left: 400,
|
|
131
|
-
width: 300,
|
|
132
|
-
height: 400,
|
|
133
|
-
backgroundColor: 'rgba(0,128,128,0.5)',
|
|
134
|
-
}"
|
|
135
|
-
>
|
|
136
|
-
<jsv-flex-div
|
|
104
|
+
<div :style="{ left: -vDivLeft }">
|
|
105
|
+
<!-- 测试人员自动测试时打开,最左端测试样例 -->
|
|
106
|
+
<div
|
|
107
|
+
v-for="(item, index) in cEnableTestArray"
|
|
108
|
+
:key="'' + index"
|
|
137
109
|
:style="{
|
|
110
|
+
top: 150,
|
|
111
|
+
left: 50 + index * cMoveLeftGap,
|
|
138
112
|
width: 300,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
justifyContent: 'center',
|
|
142
|
-
alignItems: 'flex-end',
|
|
143
|
-
backgroundColor: 'rgba(128,0,0,0.5)',
|
|
113
|
+
height: 400,
|
|
114
|
+
backgroundColor: 'rgba(0,128,128,0.5)',
|
|
144
115
|
}"
|
|
145
116
|
>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
:style="{
|
|
149
|
-
width: 30,
|
|
150
|
-
flexWrap: 'wrap',
|
|
151
|
-
backgroundColor: 'rgba(0, 128, 0, 0.5)',
|
|
152
|
-
}"
|
|
153
|
-
>
|
|
154
|
-
<img :src="image1" :style="{ height: 50 }" />
|
|
155
|
-
<img :src="image2" :style="{ height: 50 }" />
|
|
156
|
-
</jsv-flex-div>
|
|
157
|
-
<img :src="image3" :style="{ height: 50 }" />
|
|
158
|
-
<img :src="image4" :style="{ height: 50 }" />
|
|
159
|
-
<img :src="image1" :style="{ height: 50 }" />
|
|
160
|
-
<img :src="image2" :style="{ height: 50 }" />
|
|
161
|
-
<img :src="image3" :style="{ height: 50 }" />
|
|
162
|
-
<img :src="image4" :style="{ height: 50 }" />
|
|
163
|
-
|
|
164
|
-
<!-- 测试内嵌div, 且div中子项有top/left设置(确认PC环境下是否有问题) -->
|
|
165
|
-
<div :style="{ height: 150, width: 100 }">
|
|
166
|
-
<div
|
|
167
|
-
:style="{
|
|
168
|
-
left: 25,
|
|
169
|
-
top: 50,
|
|
170
|
-
height: 50,
|
|
171
|
-
width: 50,
|
|
172
|
-
backgroundColor: '#FF0000',
|
|
173
|
-
}"
|
|
174
|
-
>
|
|
175
|
-
<div
|
|
176
|
-
:style="{
|
|
177
|
-
left: 10,
|
|
178
|
-
top: 10,
|
|
179
|
-
height: 30,
|
|
180
|
-
width: 30,
|
|
181
|
-
backgroundColor: '#00FF00',
|
|
182
|
-
}"
|
|
183
|
-
></div>
|
|
184
|
-
</div>
|
|
117
|
+
<div v-if="!enableManualDemo && item.open">
|
|
118
|
+
<component :is="item.comp" />
|
|
185
119
|
</div>
|
|
186
|
-
|
|
187
|
-
<!-- 测试子项目的strech, 孙子为flex-start -->
|
|
188
|
-
<jsv-flex-div
|
|
189
|
-
:style="{
|
|
190
|
-
width: 60,
|
|
191
|
-
flexDirection: 'column',
|
|
192
|
-
alignSelf: 'stretch',
|
|
193
|
-
alignItems: 'flex-start',
|
|
194
|
-
}"
|
|
195
|
-
>
|
|
196
|
-
<img :src="image1" :style="{ height: 50 }" />
|
|
197
|
-
<img :src="image1" :style="{ height: 50 }" />
|
|
198
|
-
</jsv-flex-div>
|
|
199
|
-
|
|
200
|
-
<!-- 测试内容内嵌有子view -->
|
|
201
|
-
<div
|
|
202
|
-
:style="{
|
|
203
|
-
width: 80,
|
|
204
|
-
height: 80,
|
|
205
|
-
backgroundImage: `url(${image4})`,
|
|
206
|
-
}"
|
|
207
|
-
>
|
|
208
|
-
<img :src="image1" :style="{ left: 10, top: 10, height: 40 }" />
|
|
209
|
-
<img :src="image1" :style="{ left: 15, top: 15, height: 45 }" />
|
|
210
|
-
<img :src="image1" :style="{ left: 20, top: 20, height: 50 }" />
|
|
211
|
-
</div>
|
|
212
|
-
<div
|
|
213
|
-
:style="{
|
|
214
|
-
width: 80,
|
|
215
|
-
height: 80,
|
|
216
|
-
backgroundColor: '#0F0F7F',
|
|
217
|
-
}"
|
|
218
|
-
>
|
|
219
|
-
<img :src="image1" :style="{ left: 10, top: 10, height: 40 }" />
|
|
220
|
-
<img :src="image1" :style="{ left: 15, top: 15, height: 45 }" />
|
|
221
|
-
<img :src="image1" :style="{ left: 20, top: 20, height: 50 }" />
|
|
222
|
-
</div>
|
|
223
|
-
</jsv-flex-div>
|
|
120
|
+
</div>
|
|
224
121
|
</div>
|
|
225
122
|
|
|
226
123
|
<div
|
|
227
|
-
v-if="!enableManualDemo && enableTest3"
|
|
228
124
|
:style="{
|
|
229
|
-
top:
|
|
230
|
-
|
|
231
|
-
width:
|
|
232
|
-
|
|
233
|
-
|
|
125
|
+
top: 600,
|
|
126
|
+
height: 40,
|
|
127
|
+
width: 1280,
|
|
128
|
+
fontSize: 35,
|
|
129
|
+
lineHeight: 40,
|
|
130
|
+
color: '#FFFFFF',
|
|
131
|
+
textAlign: 'center',
|
|
234
132
|
}"
|
|
235
133
|
>
|
|
236
|
-
|
|
237
|
-
:style="{
|
|
238
|
-
left: 50,
|
|
239
|
-
width: 300,
|
|
240
|
-
height: 400,
|
|
241
|
-
backgroundColor: 'rgba(0,128,128,0.5)',
|
|
242
|
-
fontSize: 12,
|
|
243
|
-
color: '#000000',
|
|
244
|
-
textAlign: 'center',
|
|
245
|
-
lineHeight: 16,
|
|
246
|
-
}"
|
|
247
|
-
>
|
|
248
|
-
<jsv-flex-div
|
|
249
|
-
:style="{
|
|
250
|
-
width: 300,
|
|
251
|
-
height: 400,
|
|
252
|
-
flexDirection: 'column',
|
|
253
|
-
alignItems: 'flex-end',
|
|
254
|
-
justifyContent: 'center',
|
|
255
|
-
}"
|
|
256
|
-
>
|
|
257
|
-
<!-- 文字绘制区域超过容器尺寸的内容的测试 -->
|
|
258
|
-
<div :style="{ width: 450, backgroundColor: 'rgba(0, 50, 0, 0.5)' }">
|
|
259
|
-
{{
|
|
260
|
-
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
261
|
-
}}
|
|
262
|
-
</div>
|
|
263
|
-
|
|
264
|
-
<!-- 文字绘制区域未超过容器尺寸的内容的测试 -->
|
|
265
|
-
<div :style="{ width: 250, backgroundColor: 'rgba(0, 70, 0, 0.5)' }">
|
|
266
|
-
{{
|
|
267
|
-
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
268
|
-
}}
|
|
269
|
-
</div>
|
|
270
|
-
|
|
271
|
-
<!-- 超长折行文字测试点,文字字数大于3000字,最后一个字为'拾' -->
|
|
272
|
-
<div
|
|
273
|
-
:style="{
|
|
274
|
-
height: 16,
|
|
275
|
-
backgroundColor: 'rgba(0, 90, 0, 0.5)',
|
|
276
|
-
whiteSpace: 'nowrap',
|
|
277
|
-
}"
|
|
278
|
-
>
|
|
279
|
-
{{
|
|
280
|
-
"一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九拾"
|
|
281
|
-
}}
|
|
282
|
-
</div>
|
|
283
|
-
|
|
284
|
-
<!-- 短文字横向排布接续的测试 -->
|
|
285
|
-
<jsv-flex-div
|
|
286
|
-
:style="{
|
|
287
|
-
flexDirection: 'row',
|
|
288
|
-
alignItems: 'center',
|
|
289
|
-
backgroundColor: 'rgba(0, 110, 0, 0.5)',
|
|
290
|
-
}"
|
|
291
|
-
>
|
|
292
|
-
<div :style="{ height: 16 }">
|
|
293
|
-
{{ "++一二三" }}
|
|
294
|
-
</div>
|
|
295
|
-
<div
|
|
296
|
-
:style="{
|
|
297
|
-
height: 20,
|
|
298
|
-
lineHeight: 20,
|
|
299
|
-
fontSize: 18,
|
|
300
|
-
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
301
|
-
}"
|
|
302
|
-
>
|
|
303
|
-
{{ "四五六" }}
|
|
304
|
-
</div>
|
|
305
|
-
<div :style="{ height: 16 }">
|
|
306
|
-
{{ "七八九++" }}
|
|
307
|
-
</div>
|
|
308
|
-
</jsv-flex-div>
|
|
309
|
-
</jsv-flex-div>
|
|
310
|
-
</div>
|
|
134
|
+
{{ "[[[[ 左右键进行浏览 ]]]]" }}
|
|
311
135
|
</div>
|
|
312
136
|
</jsv-focus-block>
|
|
313
137
|
</template>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { onUnmounted, shallowRef } from "vue";
|
|
3
|
+
import { JsvFlexDiv } from "jsview";
|
|
4
|
+
import image1 from "./images/1.png";
|
|
5
|
+
import image2 from "./images/2.png";
|
|
6
|
+
import image3 from "./images/3.png";
|
|
7
|
+
import image4 from "./images/4.jpg";
|
|
8
|
+
import image5 from "./images/6.jpg";
|
|
9
|
+
|
|
10
|
+
let rMyWidth = shallowRef(undefined);
|
|
11
|
+
let rMyHeight = shallowRef(undefined);
|
|
12
|
+
|
|
13
|
+
// 测试flex处理,当尺寸为undefined, 0, null时的显示状态
|
|
14
|
+
const cWidth = [null, 50, undefined, 0, 0, undefined];
|
|
15
|
+
const cHeight = [null, 50, undefined, 0, undefined, 0];
|
|
16
|
+
let rIndex = shallowRef(0);
|
|
17
|
+
let rRefreshId = shallowRef(0);
|
|
18
|
+
let vInvToken = setInterval(() => {
|
|
19
|
+
rIndex.value++;
|
|
20
|
+
rMyWidth.value = cWidth[rIndex.value % cWidth.length];
|
|
21
|
+
rMyHeight.value = cHeight[rIndex.value % cHeight.length];
|
|
22
|
+
}, 2000);
|
|
23
|
+
|
|
24
|
+
onUnmounted(() => {
|
|
25
|
+
if (vInvToken > 0) {
|
|
26
|
+
clearInterval(vInvToken);
|
|
27
|
+
vInvToken = -1;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const _onSizeTest1_1 = (width, height) => {
|
|
32
|
+
console.log(`Flex ready Test1_1 w=${width} h=${height}`);
|
|
33
|
+
};
|
|
34
|
+
const _onSizeTest1_2 = (width, height) => {
|
|
35
|
+
console.log(`Flex ready Test1_2 w=${width} h=${height}`);
|
|
36
|
+
};
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<template>
|
|
40
|
+
<div>
|
|
41
|
+
<div
|
|
42
|
+
:style="{
|
|
43
|
+
fontSize: 30,
|
|
44
|
+
lineHeight: 32,
|
|
45
|
+
color: '#FF0000',
|
|
46
|
+
}"
|
|
47
|
+
>
|
|
48
|
+
{{ `${rIndex % cWidth.length}` }}
|
|
49
|
+
</div>
|
|
50
|
+
<jsv-flex-div
|
|
51
|
+
:style="{
|
|
52
|
+
width: 300,
|
|
53
|
+
height: 400,
|
|
54
|
+
flexDirection: 'row',
|
|
55
|
+
flexWrap: 'wrap',
|
|
56
|
+
justifyContent: 'flex-end',
|
|
57
|
+
alignItems: 'flex-start',
|
|
58
|
+
alignContent: 'center',
|
|
59
|
+
}"
|
|
60
|
+
:onSized="_onSizeTest1_1"
|
|
61
|
+
>
|
|
62
|
+
<!-- 测试主轴尺寸未给的场景下的撑大处理, 复用父节点的width -->
|
|
63
|
+
<jsv-flex-div
|
|
64
|
+
:key="rRefreshId"
|
|
65
|
+
:style="{ flexWrap: 'wrap' }"
|
|
66
|
+
:onSized="_onSizeTest1_2"
|
|
67
|
+
>
|
|
68
|
+
<img :src="image5" :style="{ width: rMyWidth, height: rMyHeight }" />
|
|
69
|
+
<!-- <img :src="image5" :style="{ height: 0 }" /> -->
|
|
70
|
+
<img :src="image2" :style="{ height: 45 }" />
|
|
71
|
+
<div
|
|
72
|
+
id="DivAnchor"
|
|
73
|
+
:style="{ height: 60, width: 60, backgroundColor: '#FF0000' }"
|
|
74
|
+
/>
|
|
75
|
+
<img :src="image1" :style="{ height: 45 }" />
|
|
76
|
+
<img :src="image1" :style="{ height: 45 }" />
|
|
77
|
+
</jsv-flex-div>
|
|
78
|
+
<img :src="image3" :style="{ height: 50 }" />
|
|
79
|
+
<!-- <img :src="image4" :style="{ height: 50 }" /> -->
|
|
80
|
+
</jsv-flex-div>
|
|
81
|
+
</div>
|
|
82
|
+
</template>
|
|
83
|
+
|
|
84
|
+
<style scoped></style>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { JsvFlexDiv } from "jsview";
|
|
3
|
+
import image1 from "./images/1.png";
|
|
4
|
+
import image2 from "./images/2.png";
|
|
5
|
+
import image3 from "./images/3.png";
|
|
6
|
+
import image4 from "./images/4.jpg";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<template>
|
|
10
|
+
<jsv-flex-div
|
|
11
|
+
:style="{
|
|
12
|
+
width: 300,
|
|
13
|
+
flexDirection: 'row-reverse',
|
|
14
|
+
flexWrap: 'wrap',
|
|
15
|
+
justifyContent: 'center',
|
|
16
|
+
alignItems: 'flex-end',
|
|
17
|
+
backgroundColor: 'rgba(128,0,0,0.5)',
|
|
18
|
+
}"
|
|
19
|
+
>
|
|
20
|
+
<!-- 测试主轴尺寸比内容的主轴尺寸小的场下的折行行为 -->
|
|
21
|
+
<jsv-flex-div
|
|
22
|
+
:style="{
|
|
23
|
+
width: 30,
|
|
24
|
+
flexWrap: 'wrap',
|
|
25
|
+
backgroundColor: 'rgba(0, 128, 0, 0.5)',
|
|
26
|
+
}"
|
|
27
|
+
>
|
|
28
|
+
<img :src="image1" :style="{ height: 50 }" />
|
|
29
|
+
<img :src="image2" :style="{ height: 50 }" />
|
|
30
|
+
</jsv-flex-div>
|
|
31
|
+
<img :src="image3" :style="{ height: 50 }" />
|
|
32
|
+
<img :src="image4" :style="{ height: 50 }" />
|
|
33
|
+
<img :src="image1" :style="{ height: 50 }" />
|
|
34
|
+
<img :src="image2" :style="{ height: 50 }" />
|
|
35
|
+
<img :src="image3" :style="{ height: 50 }" />
|
|
36
|
+
<img :src="image4" :style="{ height: 50 }" />
|
|
37
|
+
|
|
38
|
+
<!-- 测试内嵌div, 且div中子项有top/left设置(确认PC环境下是否有问题) -->
|
|
39
|
+
<div :style="{ height: 150, width: 100 }">
|
|
40
|
+
<div
|
|
41
|
+
:style="{
|
|
42
|
+
left: 25,
|
|
43
|
+
top: 50,
|
|
44
|
+
height: 50,
|
|
45
|
+
width: 50,
|
|
46
|
+
backgroundColor: '#FF0000',
|
|
47
|
+
}"
|
|
48
|
+
>
|
|
49
|
+
<div
|
|
50
|
+
:style="{
|
|
51
|
+
left: 10,
|
|
52
|
+
top: 10,
|
|
53
|
+
height: 30,
|
|
54
|
+
width: 30,
|
|
55
|
+
backgroundColor: '#00FF00',
|
|
56
|
+
}"
|
|
57
|
+
></div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<!-- 测试子项目的strech, 孙子为flex-start -->
|
|
62
|
+
<jsv-flex-div
|
|
63
|
+
:style="{
|
|
64
|
+
width: 60,
|
|
65
|
+
flexDirection: 'column',
|
|
66
|
+
alignSelf: 'stretch',
|
|
67
|
+
alignItems: 'flex-start',
|
|
68
|
+
}"
|
|
69
|
+
>
|
|
70
|
+
<img :src="image1" :style="{ height: 50 }" />
|
|
71
|
+
<img :src="image1" :style="{ height: 50 }" />
|
|
72
|
+
</jsv-flex-div>
|
|
73
|
+
|
|
74
|
+
<!-- 测试内容内嵌有子view -->
|
|
75
|
+
<div
|
|
76
|
+
:style="{
|
|
77
|
+
width: 80,
|
|
78
|
+
height: 80,
|
|
79
|
+
backgroundImage: `url(${image4})`,
|
|
80
|
+
}"
|
|
81
|
+
>
|
|
82
|
+
<img :src="image1" :style="{ left: 10, top: 10, height: 40 }" />
|
|
83
|
+
<img :src="image1" :style="{ left: 15, top: 15, height: 45 }" />
|
|
84
|
+
<img :src="image1" :style="{ left: 20, top: 20, height: 50 }" />
|
|
85
|
+
</div>
|
|
86
|
+
<div
|
|
87
|
+
:style="{
|
|
88
|
+
width: 80,
|
|
89
|
+
height: 80,
|
|
90
|
+
backgroundColor: '#0F0F7F',
|
|
91
|
+
}"
|
|
92
|
+
>
|
|
93
|
+
<img :src="image1" :style="{ left: 10, top: 10, height: 40 }" />
|
|
94
|
+
<img :src="image1" :style="{ left: 15, top: 15, height: 45 }" />
|
|
95
|
+
<img :src="image1" :style="{ left: 20, top: 20, height: 50 }" />
|
|
96
|
+
</div>
|
|
97
|
+
</jsv-flex-div>
|
|
98
|
+
</template>
|
|
99
|
+
|
|
100
|
+
<style scoped></style>
|