限制纵向图片的宽度/保持宽高比

8
我在一个响应式网站上设置了flexslider。我正在创建的幻灯片包含横向和纵向的图片。smoothHeight: true 用于调整高度以适应图片大小。
在最大媒体查询时,flexslider容器宽度为750像素。这对于横向图片来说很好,但是纵向图片变得太大了。纵向图片的宽度被设置为与容器相同 - 750像素宽,因此高度至少是宽度的两倍,所以您无法在不滚动的情况下查看整个图像。
在CSS中,我尝试设置max-height: 750px,这解决了高度问题,但flexslider会将图像拉伸到750像素宽和750像素高。
有人知道如何让flexslider保持纵横比并根据max-height调整图像的宽度吗?这样,纵向图片将高达750像素,但仍然保持其纵横比。
2个回答

2
我不明白您所说的Flexslider功能是缩放图像还是滚动工具栏中的缩略图?无论如何,这两种情况都有一种解决方案:
<style>
figure {
    outline: green solid 1px;
    padding: 2px;
}
img {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;

    outline: red solid 1px;
    opacity: .5;
}
.scale img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    vertical-align: middle;
}
.toheight img{
    max-width: none;
}
</style>
<figure class="scale toheight" width="200" height="200">
    <img src="http://placekitten.com/250/300"/>
</figure>

在容器内裁剪或缩放图像的解决方案 http://jsfiddle.net/iegik/ZzXru/

相关问题:如何水平对齐裁剪的元素?


0
图片默认应保持其比例,除非您已经设置了width: 100%;,在这种情况下,您应该将其更改为使用width: auto,然后您的max-height: 750px将优先生效。

这应该是一个注释。 - Imesha Sudasingha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接