• <i id='whiBz'><tr id='whiBz'><dt id='whiBz'><q id='whiBz'><span id='whiBz'><b id='whiBz'><form id='whiBz'><ins id='whiBz'></ins><ul id='whiBz'></ul><sub id='whiBz'></sub></form><legend id='whiBz'></legend><bdo id='whiBz'><pre id='whiBz'><center id='whiBz'></center></pre></bdo></b><th id='whiBz'></th></span></q></dt></tr></i><div id='whiBz'><tfoot id='whiBz'></tfoot><dl id='whiBz'><fieldset id='whiBz'></fieldset></dl></div>

      <tfoot id='whiBz'></tfoot>

      <small id='whiBz'></small><noframes id='whiBz'>

        • <bdo id='whiBz'></bdo><ul id='whiBz'></ul>
        <legend id='whiBz'><style id='whiBz'><dir id='whiBz'><q id='whiBz'></q></dir></style></legend>

        当窗口变小时,Flex 项目不会缩小

        Flex items not shrinking when window gets smaller(当窗口变小时,Flex 项目不会缩小)

          <bdo id='ykI5j'></bdo><ul id='ykI5j'></ul>

            <small id='ykI5j'></small><noframes id='ykI5j'>

            • <tfoot id='ykI5j'></tfoot>
              <legend id='ykI5j'><style id='ykI5j'><dir id='ykI5j'><q id='ykI5j'></q></dir></style></legend>

                <i id='ykI5j'><tr id='ykI5j'><dt id='ykI5j'><q id='ykI5j'><span id='ykI5j'><b id='ykI5j'><form id='ykI5j'><ins id='ykI5j'></ins><ul id='ykI5j'></ul><sub id='ykI5j'></sub></form><legend id='ykI5j'></legend><bdo id='ykI5j'><pre id='ykI5j'><center id='ykI5j'></center></pre></bdo></b><th id='ykI5j'></th></span></q></dt></tr></i><div id='ykI5j'><tfoot id='ykI5j'></tfoot><dl id='ykI5j'><fieldset id='ykI5j'></fieldset></dl></div>

                  <tbody id='ykI5j'></tbody>

                1. 本文介绍了当窗口变小时,Flex 项目不会缩小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试在 CSS flexbox 中放置两个相邻的绘图.我希望它们在调整窗口大小时调整大小.当窗口变大时,它按预期工作,但当窗口变小时,绘图不会缩小.

                  I'm trying to fit two plotly plots next to each other inside a CSS flexbox. I want them to resize when the window is resized. It works as expected when the window grows, but the plots don't shrink when the window gets smaller.

                  var trace1 = {};
                  var trace2 = {};
                  
                  var plotdiv1 = document.getElementById("plotdiv1");
                  var plotdiv2 = document.getElementById("plotdiv2");
                  
                  Plotly.newPlot(plotdiv1, [trace1]);
                  Plotly.newPlot(plotdiv2, [trace2]);
                  
                  window.addEventListener("resize", function() {
                    Plotly.Plots.resize(plotdiv1);
                    Plotly.Plots.resize(plotdiv2);
                  });

                  .plot-div {
                    max-width: 100%;
                  }
                  .plot-col {
                    flex: 0 0 50%;
                  }
                  .my-container {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    width: 100%;
                    height: 100%;
                  }

                  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
                  
                  <body>
                    <div class="my-container">
                      <div class="plot-col">
                        <div id="plotdiv1" class="plot-div"></div>
                      </div>
                      <div class="plot-col">
                        <div id="plotdiv2" class="plot-div"></div>
                      </div>
                    </div>
                  </body>

                  JSFiddle:https://jsfiddle.net/bd0reepd/

                  我可能误解了 flexbox 的工作原理,但是如果我用图像替换绘图,它们会按预期缩小.

                  I am probably misunderstanding how flexbox works, but if I replace the plots with images, they shrink as expected.

                  我试图调试这个并找到了plotlys内部函数plotAutoSize,它调用window.getComputedStyle并相应地设置绘图大小.我使用 console.log 来查看 window.getComputedStyle 的返回值,当窗口缩小时,它们会卡在"最大尺寸.

                  I have tried to debug this and found plotlys internal function plotAutoSize, which calls window.getComputedStyle and sets the plot size accordingly. I have used console.log to look at the return values of window.getComputedStyle and they get "stuck" at the largest size when the window shrinks.

                  如何让绘图缩小以适应窗口并在同一行中彼此相邻?

                  How can I get the plots to shrink to fit the window and stay next to each other in the same row?

                  推荐答案

                  弹性项目的初始设置是 min-width: auto.这意味着默认情况下,弹性项目不能小于其内容.

                  An initial setting on flex items is min-width: auto. This means that a flex item cannot, by default, be smaller than its content.

                  您可以使用 min-width: 0overflow 使用除 visible 以外的任何值覆盖此设置.将此添加到您的代码中:

                  You can override this setting with min-width: 0 or overflow with any value other than visible. Add this to your code:

                  .plot-col {
                      min-width: 0;
                  }
                  

                  修订小提琴

                  更多信息:为什么弹性项目不缩小超过内容大小?

                  这篇关于当窗口变小时,Flex 项目不会缩小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Fetch multiple links inside foreach loop(在 foreach 循环中获取多个链接)
                  Backbone Fetch Request is OPTIONS method(Backbone Fetch Request 是 OPTIONS 方法)
                  Fetch API leaks memory in Chrome(Fetch API 在 Chrome 中泄漏内存)
                  How can I download and save a file using the Fetch API? (Node.js)(如何使用 Fetch API 下载和保存文件?(Node.js))
                  Send blob data to node using fetch, multer, express(使用 fetch、multer、express 将 blob 数据发送到节点)
                  Sending a custom User-Agent string along with my headers (fetch)(发送自定义用户代理字符串以及我的标头(获取))
                    <tfoot id='eJ9VL'></tfoot>
                    <i id='eJ9VL'><tr id='eJ9VL'><dt id='eJ9VL'><q id='eJ9VL'><span id='eJ9VL'><b id='eJ9VL'><form id='eJ9VL'><ins id='eJ9VL'></ins><ul id='eJ9VL'></ul><sub id='eJ9VL'></sub></form><legend id='eJ9VL'></legend><bdo id='eJ9VL'><pre id='eJ9VL'><center id='eJ9VL'></center></pre></bdo></b><th id='eJ9VL'></th></span></q></dt></tr></i><div id='eJ9VL'><tfoot id='eJ9VL'></tfoot><dl id='eJ9VL'><fieldset id='eJ9VL'></fieldset></dl></div>
                  • <small id='eJ9VL'></small><noframes id='eJ9VL'>

                        <bdo id='eJ9VL'></bdo><ul id='eJ9VL'></ul>

                              <tbody id='eJ9VL'></tbody>

                            <legend id='eJ9VL'><style id='eJ9VL'><dir id='eJ9VL'><q id='eJ9VL'></q></dir></style></legend>