【发布时间】:2014-05-20 04:28:15
【问题描述】:
短版:使图像很好地适合小窗口的可见区域,从this fiddle开始
更新:似乎没有解决此问题的方法。我认为可能有一个,因为 Chrome 实际上使这成为可能(请参阅我的回答),但在其他浏览器中的行为有所不同。
加长版:
我正在处理 lightweight fluid lightbox 并且有一个我无法解决的看似简单的 CSS 问题。
如果需要,我希望缩小内容(单个图像)以适应大小,同时保持纵横比不变。
这是一个演示小提琴:http://jsfiddle.net/3a9y9/2/。调整窗口大小,使图像不适合高度。
它几乎可以工作,但是图像is slightly more 的高度比实际可见的要高,所以底部的一部分被剪掉了。我试过调整东西无济于事;我希望我明白为什么可用高度太高了。
也许它是相关的,但 IE 9 甚至没有通过这种解决方案的尝试来维护 aspect ratio。此外,Chrome 在调整窗口大小并单击小提琴中的run 时表现异常,有时会以不同方式重绘。
解决办法是什么?
如果有必要,可以将<img> 包装在<div> 或两个<div> 中,但理想情况下,顶层结构应该保持不变(即.featherlight-content 包含在.featherlight 中,仅此而已)。
【问题讨论】:
-
你有没有注意到Firefox(最新的Win版本)根本不显示图像?除此之外,我认为没有纯 CSS 解决方案,因为您必须确定图像的宽度或高度是否根据视口大小设置最大值。这是你无法用 CSS 实现/解决的。因此,您需要 Javascript。因此,在写答案之前,请告诉我们,如果您也对 JS 驱动的解决方案感兴趣 - 谢谢!
-
@Netsurfer:我正在寻找 CSS 解决方案,没有 JS。
-
好的,但是,如前所述,您无法实现目标。仅使用 CSS 是不可能的。
-
@Netsurfer:看我的回答。
标签: css fluid-layout