# 三.数据输出(图片)
前言 --> 自适应图片组件特点
- 1.图片不会变形既宽高比不变
- 2.尽可能撑满空间
- 3.上下左右居中
- 4.拖拽图片不会打开新页面
# 1.目录结构
├── fit-image
│ ├── image.vue
│ └── index.js
1
2
3
2
3
# 2.组件封装
- 源代码
<template>
<div class="image-fit">
<img :src="url" alt="" srcset="" />
</div>
</template>
<script>
export default {
name: "FitImage",
props: {
url: {
type: String,
default: "/web-vue2x/assets/img/13.deploy1.1.a358a790.png",
},
},
};
</script>
<style lang="scss" scoped>
.image-fit {
width: 100%;
height: 100%;
position: relative;
img {
max-height: 100%;
max-width: 100%;
-webkit-user-drag: none;
vertical-align: middle;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
object-fit: contain;
height: 100%;
width: 100%;
}
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 3.使用案例
刷新
全屏/自适应
总结
通过对前端组件的分析,需要重点关注组件中易变性对组件封装的影响,它会对组件的可复用性、可扩展性产生很大影响