vue中如何让内部元素跟随浏览器缩放而缩放?

如何让内部这些div以及echarts图表跟随浏览器缩放的比例一起缩放?(不加滚动条为前提)
我试过了加一个min-width:1024;但是结果还是没有理想(p3)

img

img

这里是加了minwidth

img

css 的 transform:scale(1.2)。放大1.2倍。然后监听浏览器宽度来计算应该放大缩小多少。还有一个zoom 属性,zoom有点东西是不会被缩小的

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: vue中使用echarts实现地图自定义浮窗内容及样式中的 2.在页面上创建一个div放置地图  部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    <Col span="12">
      <div style="margin-top: 10px;margin-left:20px;">
        <span style="font-weight: bold;">江苏省地图</span>
      </div>
      <div ref="charts" style="width: 700px; height: 600px"></div>
    </Col>
  • 以下回答来自chatgpt:

    在Vue中实现内部元素随浏览器缩放而缩放的功能可以通过监听浏览器窗口大小变化的事件,并在事件触发时改变内部元素的样式来实现。下面是一种可能的解决方案:

    1. 首先,在Vue的组件中引入echarts,并在mounted或created生命周期钩子函数中初始化echarts图表,如下所示:
    import echarts from 'echarts';
    
    export default {
      data() {
        return {
          chart: null,
        };
      },
      mounted() {
        this.initChart();
        window.addEventListener('resize', this.handleResize);
      },
      beforeDestroy() {
        window.removeEventListener('resize', this.handleResize);
      },
      methods: {
        initChart() {
          this.chart = echarts.init(document.getElementById('main'));
          // 设置图表的初始配置
          // ...
        },
        handleResize() {
          this.chart.resize();
        },
      },
    };
    
    1. 上述代码中的initChart函数用于初始化echarts图表,可以根据需要进行图表的配置,配置项可以参考参考资料中的段落2。

    2. handleResize函数用于处理窗口大小变化事件,调用chart.resize()方法来重新调整图表的尺寸。通过调用resize()方法,echarts图表会自动根据父容器的尺寸进行缩放。

    3. 在组件的模板中,将div元素和echarts图表渲染出来,示例如下:

    <template>
      <div>
        <!-- 其他内容 -->
        <div id="main" style="width: 100%; height: 400px;"></div>
      </div>
    </template>
    
    1. 通过以上步骤,当浏览器窗口大小变化时,echarts图表会根据父容器的尺寸自动缩放。在样式上,可以通过设置父容器的宽度为百分比来实现随浏览器缩放而缩放的效果。如果需要适应整个窗口的大小,可以将父容器的高度也设置为百分比。

    希望以上步骤对你有所帮助。如果你有其他疑问,请随时向我提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^