【问题标题】:How to make images in a table dynamically fit the size of the browser?如何使表格中的图像动态适合浏览器的大小?
【发布时间】:2016-05-08 03:16:01
【问题描述】:

我有一个表格,其中可能包含 1 到 12 张图像,具体取决于用户输入。如果有一张图片,那么它会很好地显示在表格中。但是,如果有 12 张图像,它会垂直向下拉伸,直到我需要向下滚动才能查看其余图像。

有没有办法动态调整图像的大小,这样就不需要滚动并且所有内容都适合表格?

它看起来像什么

5 张图片:

12 张图片:

这是我拥有的当前表格,我使用 JavaScript 来填充图像:

<table id="first">
            <tr>
                <td>
                    <ul>
                        <li><img id="firstL1"></li>
                        <li><img id="firstL2"></li>
                        <li><img id="firstL3"></li>
                        <li><img id="firstL4"></li>
                        <li><img id="firstL5"></li>
                        <li><img id="firstL6"></li>
                        <li><img id="firstL7"></li>
                        <li><img id="firstL8"></li>
                        <li><img id="firstL9"></li>
                        <li><img id="firstL10"></li>
                        <li><img id="firstL11"></li>
                        <li><img id="firstL12"></li>
                    </ul>
                </td>
                <td><ul></ul></td>
                <td>
                    <ul>
                        <li><img id="firstR1"></li>
                        <li><img id="firstR2"></li>
                        <li><img id="firstR3"></li>
                        <li><img id="firstR4"></li>
                        <li><img id="firstR5"></li>
                        <li><img id="firstR6"></li>
                        <li><img id="firstR7"></li>
                        <li><img id="firstR8"></li>
                        <li><img id="firstR9"></li>
                        <li><img id="firstR10"></li>
                        <li><img id="firstR11"></li>
                        <li><img id="firstR12"></li>
                    </ul>
                </td>
            </tr>
        </table>

【问题讨论】:

    标签: html css image html-table


    【解决方案1】:

    是的,您可以使用css media query 在每个断点调整图像大小 例如在屏幕尺寸 500px 上使 img 尺寸为 100px

    @media only screen and (max-width: 500px) {
        img {
            width: 100px;
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以在图像本身上设置百分比宽度。带有width:100% 的图像将展开以适应父表格单元格,即使该表格单元格是根据视口大小和其他表格单元格的大小动态调整的。

      See a demo 这个例子:

      <table>
          <tr>
              <td><img src="http://lorempixel.com/640/480" style="width:100%"></td>
              <td><img src="http://lorempixel.com/320/240" style="width:100%"></td>
              <td><img src="http://lorempixel.com/640/480" style="width:100%"></td>
          </tr>
      </table>
      

      【讨论】:

      • 我尝试用百分比设置宽度和高度,但它仍然向下延伸
      • 我想我误解了你的问题 :) 你能画出你希望 12 幅图像如何出现的粗略草图吗?您是否希望额外的列水平分布?
      • 基本上如果有 12 张图片,有没有办法将它们全部挤到表格中,使其看起来像有 5 张图片的一张,而不是一直垂直向下展开?
      • 你可以试试 img{ max-width:100%;宽度:100%;}
      • 仍然向下延伸。
      猜你喜欢
      • 2011-09-04
      • 2013-03-04
      • 2011-06-05
      • 2023-03-24
      • 2012-06-13
      • 2012-10-04
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多