【问题标题】:Max-width image and inline-block causes image not to show in IE8最大宽度图像和内联块导致图像在 IE8 中不显示
【发布时间】:2014-12-04 23:22:20
【问题描述】:

奇怪的是...如果您在图像上指定 100% 的 max-width 并在其容器上显示 inline-block,并结合标记中的宽度属性,IE8 不会显示图像。

这是一支笔:http://codepen.io/iamkeir/pen/MYadRO
(在 IE8 上查看整页:http://codepen.io/iamkeir/full/MYadRO

<div class="problem">
  <img src="http://placehold.it/320x240" width="240" />
</div>

<style type="text/css">
  div {
    display: inline-block;
  }

  img {
    max-width: 100%;
  }
</style>

可以通过使容器显示内联而不是仅用于 IE8 的内联块来修复它,或者指定 100% 的宽度和最大宽度而不是宽度属性...但这并不像在中指定宽度那样方便标记。

两个问题:
1) 是否有更好/替代的解决方法?
2) 任何想法什么实际上是怎么回事? (我知道,我知道,“因为 IE8”。)

注意:虽然http://caniuse.com/#search=inline-block 暗示 IE8 支持 inline-block (),但在页脚中报告了一个已知问题。应该改为部分支持:
http://blog.caplin.com/2013/06/07/developing-for-ie8-inline-block-resize-bug/

【问题讨论】:

  • 微软不再支持或更新 IE8。我们也不应该;)。
  • 微软确实支持 IE8(它也支持 IE6 和 IE7),只是在 Windows XP 上不支持。
  • 哦,如果我们可以简单地说“我们不必支持 IE8”,我会在街上裸舞。事实是,我们支持很大比例的用户使用。如果每月有数千名客户在 WinXP 上使用 IE8,我们会在 WinXP 上支持 IE8,否则就会失去这些客户(或者在我们的情况下,会被我们的联邦霸主扇耳光)。
  • @JamieBarker 遗憾的是,我们从事的大多数项目都不能由我们来决定支持哪些浏览器。这通常取决于客户及其要求。

标签: html css internet-explorer-8


【解决方案1】:

如果你不想给它 with 那么你可以指定 min-with。

如果你给它 min-width:240px;或者你想要指定的宽度。

希望对你有帮助

【讨论】: