【发布时间】:2013-11-04 20:37:22
【问题描述】:
我如何在框内调整图像的大小和位置,使其覆盖整个框,类似于background-size: cover 的工作原理。
<div class="box" style="width: 100px; height: 100px;">
<img src="pic.jpg" width="413" height="325">
</div>
我知道我必须在框中添加overflow:hidden,并且图像需要position: absolute。但是,让我获得正确的图像新尺寸和左 + 顶部位置的公式是什么?
【问题讨论】:
-
$('.box').each(function(i) { $(this).children('img:first').height($(this).height()).width($(this).width()).css({ position: 'absolute', top: 0, left: 0 }); }) -
@SpYk3HH 与
background: 100% 100%相同,而不是background-size: cover -
您希望图像也居中还是足够大?我正在看这个不使图像居中的示例。 w3schools.com/cssref/…
-
不太确定你想要什么,因为封面是背景定位。对于内部 img 元素,这似乎是一种不好的姿态,但我想你可以尝试一个确切的公式,虽然我自己不确定这个公式
-
@TreeTree:是的。那是我的错。我认为背景尺寸的封面也会使图像居中:P(也许背景位置:中心也是必需的?)
标签: javascript jquery math background-size