【问题标题】:IMG in table cell, force max-size but maintain aspect ratio and responsiveness表格单元格中的 IMG,强制最大尺寸但保持纵横比和响应能力
【发布时间】:2016-02-11 20:17:19
【问题描述】:

我有一个表格,第一个单元格中有一个图像,下一个单元格中有文本。该页面将在所有设备上查看,因此我需要保持响应能力(和表格)。

似乎一切正常 - 图片居中、响应灵敏等。但是,有些图片太高了。所以我设置了一个最大高度,但现在图像失去了纵横比。

如果我将宽度和高度设置为自动,我会失去响应能力,并且我找不到保持纵横比、设置最大宽度和高度并仍然保持响应能力的解决方案,任何指针?

table {
  width: 90%;
  max-width:800px;
  }

table td {
  padding:10px;
  border-bottom:solid black 2px;
  text-align:center;
  vertical-align:middle;
}
table td:first-child {
  width: 50%;
  }
table td img {
  max-width:180px;
  max-height:70px;
  }
<table>
  <tr>
    <td>
      <img src="http://www.gravatar.com/avatar/e1122386990776c6c39a08e9f5fe5648?s=32&d=identicon&r=PG" width="100%" />
    </td>
    <td>
      Blah Blah
    </td>
  </tr>
  <tr>
    <td>
      <img src="https://www.google.com/images/srpr/logo3w.png" width="100%"/>
    </td>
    <td>
      Blah Blah
    </td>
  </tr>
</table>

【问题讨论】:

    标签: css responsive-design aspect-ratio


    【解决方案1】:

    设置最大宽度、最大高度设置宽度为自动时是否有效。它似乎在你的 sn-p 中工作。

    编辑:版本 2

    1. 这是你想要的效果吗?
    2. 你能把img移到td的背景吗?

    table {
      width: 90%;
      max-width:800px;
      }
    
    table td {
      padding:10px;
      border-bottom:solid black 2px;
      text-align:center;
      vertical-align:middle;
    }
    table td:first-child {
      width: 70%;
      max-width:180px;
      max-height:70px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      background-origin: padding-box;
      }
    <table>
      <tr>
        <td style="background-image: url(http://goo.gl/QrKCc);">
        </td>
        <td>
          Blah Blah
        </td>
      </tr>
      <tr>
        <td style="background-image: url(http://goo.gl/QrKCc);">
        </td>
        <td>
          Blah Blah<br />
          A forced second line to increase the height
        </td>
      </tr>
      <tr>
        <td style="background-image: url(https://www.google.com/images/srpr/logo3w.png)"> 
        </td>
        <td>
          Blah Blah
        </td>
      </tr>
    </table>

    【讨论】:

    • 它失去了响应能力。如果您全屏打开 sn-p 然后将浏览器窗口缩小,您可以看到图像不再随表格大小缩放。另外,图像以原始大小开始,并且不会缩放到表格单元格的大小。您可以在您的 sn-p 中看到烧杯图片很小,远小于电池允许的尺寸。
    • @Dave_K 对,让我们再试一次。我是否至少了解您在更新后的 sn-p 中要实现的目标?
    • 我会试一试,我想它可能对我有用,谢谢!!
    • 我最终不得不在 td 中设置一个最小高度,以防止一些较高的图像变得太小,但它成功了。谢谢!
    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 2014-01-08
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多