当前位置: 首页 > 面试题库 >

如何在div内放置图像(img)并保持纵横比?

汪兴旺
2023-03-14
问题内容

我有一个48x48的div,里面有一个img元素,我想将它放到div中而不丢失任何部分,同时保持比例,是否可以使用html和css实现?


问题答案:

如果您在编写CSS时不知道图像的尺寸,则需要一些JavaScript来防止裁剪。

HTML和JavaScript

<div id="container">
    <img src="something.jpg" alt="" />
</div>

<script type="text/javascript">
(function() {

var img = document.getElementById('container').firstChild;
img.onload = function() {
    if(img.height > img.width) {
        img.height = '100%';
        img.width = 'auto';
    }
};

}());
</script>

的CSS

#container {
   width: 48px;
   height: 48px;
}

#container img {
   width: 100%;
}

如果您使用JavaScript库,则可能要利用它。



 类似资料:
  • 我有一个img元素,看起来像: 使用css: 现在,这意味着在保持纵横比的同时,将图像大小调整为最大高度:400px,或最大宽度:100%。虽然加载时图像会折叠到: 加载图像后,它向下推送文本: 我认为,由于图像的宽度和高度是内联的,浏览器应该已经知道它的纵横比了,图像就不会跳转了?我有什么遗漏吗? 我想要的只是图像元素,在图像源加载之前,与图像的长宽比相同。使布局不跳来跳去!

  • 我有一个宽度为1900和高度为1000的图像,我使用的是和但我希望div高度与图像更改的高度相同。 示例: 在1366个屏幕中,图像将缩小尺寸以适应屏幕大小(宽度100%),因此,图像高度也将减小,因此我想获得该高度。 我试图做的是: HTML: CSS: 问题:vw是用滚动条宽度计算的,我想要没有,我可以使用宽度%而不是vw吗? 我接受别人的想法来做这件事,但我更喜欢使用CSS。

  • 我希望一个图像填充其容器宽度的100%,并且我希望它设置最大高度属性,所有这些都保持纵横比,但允许丢失图像的任何部分。 我知道可以用背景大小属性做类似的事情,但我想把它变成内联的 你知道我如何使用CSS实现这一点吗?还是javascript?

  • 我有一个。的数据是从服务器请求的。 以下是中的项布局: 我从服务器请求数据,获取图像url并将图像加载到 适配器中有方法的代码 图像大小为。我在我的Nexus4上运行我的应用程序。图像填充宽度,但高度不缩放。不显示整个图像。 我如何解决这个问题?

  • 我使用引导创建旋转木马,我有大的图像,所以当屏幕小于图像时,比例不会保持不变。 我怎么能改变呢? 这是我的代码: http://jsfiddle.net/DRQkQ/ 我需要图像适合100%的宽度,但保持其高度为500px(我认为是500px),这应该意味着在较小的屏幕上,我们看不到图像的最左边和最右边。 我尝试将图像包含在div中并添加 但这不管用 非常感谢。

  • 使用CSS flex box模型,如何强制图像保持其纵横比? JS小提琴:http://jsfiddle.net/xLc2Le0k/2/ 请注意,为了填充容器的宽度,图像会拉伸或收缩。这很好,但是我们也能让它拉伸或收缩高度来保持图像比例吗? HTML CSS