当前位置: 首页> 娱乐> 明星 > wps网页制作_中国工商信息查询网_厦门网站推广优化哪家好_app广告投放价格表

wps网页制作_中国工商信息查询网_厦门网站推广优化哪家好_app广告投放价格表

时间:2025/7/12 10:45:36来源:https://blog.csdn.net/m0_63986895/article/details/144437616 浏览次数:0次
wps网页制作_中国工商信息查询网_厦门网站推广优化哪家好_app广告投放价格表

背景

项目中采用动态给x-vue-echarts style赋值width,height的方式实现echarts图表尺寸的改变
在这里插入图片描述

  <v-chart...autoresize></v-chart>

给v-chart添加autoresize后,在图表宽度变化,高度增加时无异常,高度减小时图表并未缩小,反而被截断了

先说结论

添加全局样式进行覆盖

div.vue-echarts-inner {height: 100% !important;
}

原理

查看vue-echarts源码
在这里插入图片描述
在这里插入图片描述
这里的inner以及useAutoresize中的root值为该dom节点
在这里插入图片描述
所以实际上是在监听div.vue-echarts-inner这个dom节点的尺寸变化,从而去给inner的子盒子设置width和height
在这里插入图片描述
下面是父盒子的css属性
在这里插入图片描述
下面是inner的css属性
在这里插入图片描述
问题就在于flex和height auto

  • 父盒子为flex盒且flex-direction为column,子盒子设置flex-grow:1,那么子盒子会填满父盒子的高度
  • 父盒子设置高度为height:auto,那么高度会以其子盒子内容高度为准,也就是子盒子是300px,就会把该盒子高度撑到300px

但两者在一块就有冲突
这里分为父,子,孙三个盒子

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.father {display: flex;flex-direction: column;background-color: red;width: 500px;height: 500px;}.me {flex: 1;width: 300px;background-color: green;height: auto;}.son {width: 100px;background-color: blue;height: 500px;}</style>
</head><body><div class="father"><div class="me"><div class="son"></div></div></div>
</body></html>

结论:

  • 父盒子高度大于孙盒子时,子盒子高度跟随父盒子
    在这里插入图片描述

  • 父盒子高度小于孙盒子时,子盒子高度跟随孙盒子
    在这里插入图片描述
    回到vue-echarts场景,所以在高度减少时,inner的父盒子高度减少,但inner子盒子高度不变,所以inner盒子高度不会变,不会触发resize

解决办法:inner设置height: 100%,这样inner的高度会跟随其父盒子高度而变化,而不会受其子盒子影响

关键字:wps网页制作_中国工商信息查询网_厦门网站推广优化哪家好_app广告投放价格表

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: