【发布时间】:2015-02-19 16:22:07
【问题描述】:
当我只有一个图像时,我有一个很好的工作解决方案——我可以将图像居中(在两个轴上)并以这样的方式拉伸它,它不大于容器也不小于容器(它保留了比例)。
现在我想以这种方式直接在图像下方添加一个标题,该标题会根据字体大小占用空间,并且图像会拉伸到容器空间的剩余部分。而我做不到。
我之前的解决方案(我只对高度进行了限制)——现在,不起作用:
<div style="border: 1px solid;box-sizing: border-box; width: 1000px; padding: 8px; height: 200px; text-align: center; " >
<span style="display: inline-block; height: 100%; vertical-align: middle;"></span>
<img style="display:inline-block; max-height:100%; " src="icons/speaking.png" ></img>
<br/><span style="">TEST</span>
</div>
其他尝试,但效果更差,图像没有以任何方式拉伸。 table 与 table-cell
<div style="border: 1px solid;box-sizing: border-box; width: 1000px; padding: 8px; height: 200px; text-align: center; " >
<div style="display:table;width:100%;height:100%;max-height:100%;">
<div style="vertical-align:middle;display:table-cell;max-height:100%;">
<img style="display:inline;max-height:100%;" src="icons/speaking.png" ></img>
</div>
</div>
</div>
或者figure——真的没有区别:
<div style="border: 1px solid;box-sizing: border-box; width: 1000px; padding: 8px; height: 200px; text-align: center; " >
<div style="display:table;width:100%;height:100%;max-height:100%;">
<figure style="vertical-align:middle;display:table-cell;max-height:100%;">
<img style="max-height:100%" src="icons/speaking.png" ></img>
<figcaption style="">TEST</figcaption>
</figure>
</div>
</div>
重要提示:我没有可行的解决方案,任何解决方案,但我尝试在没有任何固定值的情况下解决这个问题,容器除外。这样做的原因是,当resize发生时,我已经设置了容器的尺寸,以及相应的内容缩放。
大容器,图片几乎占据了整个高度,宽度不能100%,因为高度太大(奇怪的样子可能是我的Gimp技能造成的):
小容器,图像被挤压。仍有保留文本的空间。
文本可能看起来像放大了(相比之下),但它的大小是一样的——只是图像被压缩了,容器更小了。
【问题讨论】:
-
在标题上设置
position:absolute怎么样? -
@Danield,没问题,但它是如何解决问题的?