Firefox中忽略的图像最大高度百分比

Posted

技术标签:

【中文标题】Firefox中忽略的图像最大高度百分比【英文标题】:percentage max-height on image ignored in firefox 【发布时间】:2013-12-28 18:02:50 【问题描述】:

HTML:

<div class="container">
    <article class="article">
        <img class="article-img" src="bordeaux.jpg" />
    </article>
</div>

CSS:

.container
    width:500px;
    height:200px;

.article
    max-height:100%;

.article-img
    max-height:100%;

Firefox

中查看它的 jsfiddle

http://jsfiddle.net/UETMr/4/

我需要将 .article 设置为 height:100% 以使图像在 Firefox 中缩小

有人能解释一下 Firefox 如何理解最大高度百分比及其容器吗?

提前致谢!

【问题讨论】:

【参考方案1】:

它以the W3C specifications state 的方式理解它。要使max-height 起作用,除了内容本身之外,还需要明确设置其包含元素的height。这就是为什么当您设置 height: 100% 时它起作用的原因,因为现在您明确告诉 .article 从其父级(而不是其内容)获取其 height。但是,当您将.article 设置为max-height 时,它仍然是驱动其计算的height 的内容,只是限制不能超过.container height。在您的情况下,内容是 img 本身。

In this fiddle,你可以看到.article实际上是把自己限制在.containerheight上,但是允许自己的内容(img)溢出到更大的高度。 img 不受其max-height 的约束,因为.article 没有显式 height 集,但实际上是从img 获得它的高度(只有它是有限的它不能越过其容器的height)。

【讨论】:

谢谢你的详细解释!清除它!

以上是关于Firefox中忽略的图像最大高度百分比的主要内容,如果未能解决你的问题,请参考以下文章

Flex 元素在 Firefox 中忽略百分比填充

父级具有最小/最大高度时的 CSS 百分比高度

IE10中的HTML布局涉及百分比宽度和高度

如何在宽度百分比和高度百分比上剪辑图像

是否可以使用约束将视图高度指定为父视图的百分比,但也可以限制最大结果高度?

为啥百分比高度不适用于我的 div? [复制]