您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

缩放图像以适合边框

缩放图像以适合边框

不,没有唯一的CSS双向方式可以做到这一点。您可以添加

.fillwidth {
    min-width: 100%;
    height: auto;
}

对于一个元素,使其始终具有100%的宽度,并自动将其高度缩放为长宽比, 反之:

.fillheight {
    min-height: 100%; 
    width: auto;
}

始终缩放到最大高度和相对宽度。为此,您需要确定纵横比是高于还是低于容器,而CSS无法做到这一点。

原因是CSS不知道页面的外观。它会预先设置规则,但只有在此之后,元素才会被渲染,并且您确切知道要处理的大小和比率。检测到该错误的唯一方法是使用JavaScript。

尽管您并不是在寻找JS解决方案,但如果有人需要,我还是会添加一个。用JavaScript处理此问题的最简单方法是根据比率差异添加一个类。如果框的宽高比大于图像的宽高比,请添加类“ fillwidth”,否则添加类“ fillheight”。

$('div').each(function() {

  var fillClass = ($(this).height() > $(this).width())

    ? 'fillheight'

    : 'fillwidth';

  $(this).find('img').addClass(fillClass);

});


.fillwidth {

  width: 100%;

  height: auto;

}

.fillheight {

  height: 100%;

  width: auto;

}



div {

  border: 1px solid black;

  overflow: hidden;

}



.tower {

  width: 100px;

  height: 200px;

}



.trailer {

  width: 200px;

  height: 100px;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="tower">

  <img src="http://placekitten.com/150/150" />

</div>

<div class="trailer">

  <img src="http://placekitten.com/150/150" />

</div>
其他 2022/1/1 18:14:29 有671人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶