【发布时间】:2015-12-29 17:49:38
【问题描述】:
尝试使图像能够自行调整大小以适合方形容器。
我想让它无论图像的大小如何,它都会自行调整大小以适应容器,但保持其纵横比。
到目前为止,这是我的 HTML 代码:
<div id="product-details">
<div id="product-image-display">
<div>
<div>
<span><img src="img/product-images/IBANEZ-AW300ECE-DARK-VIOLIN-SUNBURST-02.JPG"></span>
</div>
</div>
</div>
</div>
还有 CSS:
div#product-details div#product-image-display {
position: relative;
width: 100%;
overflow: hidden;
}
div#product-image-display:before {
content: "";
display: block;
padding-top: 100%;
}
div#product-details div#product-image-display div {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
div#product-details div#product-image-display div div {
display: table;
width: 100%;
height: 100%;
}
div#product-image-display div div span {
display: table-cell;
text-align: center;
vertical-align: middle;
overflow: hidden;
}
div#product-details div#product-image-display div div span img {
height: 100%;
}
这是它现在正在做的事情:
我希望图像调整大小并保持其纵横比,无论它是什么大小。我不能只做宽度:100%,因为又高又瘦的图像不会正确调整高度。我不能做相反的事情,因为一个类似但相反的问题。我不能用 CSS 做 if 语句,可以吗? (如果 img 宽度 > img 高度,则 img 宽度:100% 等)这是我可以做到的合乎逻辑的方式。
没有javascript/纯CSS/HTML有什么办法吗?
编辑:大问题改写。
【问题讨论】:
-
请给出图片来源的绝对路径
-
添加了一张图片来显示代码当前正在做什么,并进一步解释了我想要它做什么。
-
另外,不,鲁普。不寻找背景封面或类似的东西。只是想让图像自动调整大小以适合其容器,但不会丢失其纵横比。不过,谢谢。