由于您的标志大小是16x11px,你想将其作为100x50px,你将不得不在x轴上缩放图像100/16 = 6.25倍,在y轴上缩放50/11 = 4.54倍。所以,你将有:
background-size: calc(390px * 6.25) calc (260px * 4.54);
当然,这就是说你也必须相应地计算background-position
中。因此,对于第一标志,我们将有:
.flag {
width: 100px;
height: 50px;
background-image: url('http://icons.iconarchive.com/icons/famfamfam/flag/icons-390.jpg');
background-position: -38px -36px;
background-size: calc(390px * 6.25) calc(260px * 4.5); // actual size of image
}
<div class="flag"></div>
其中,当然,看起来荒唐但是,它始终与拉伸图像发生。
现在,如果您真的了解了它,您可以使用image-rendering
属性为FireFox和Chrome“修复一点”渲染。
.flag {
width: 100px;
height: 50px;
background-image: url('http://icons.iconarchive.com/icons/famfamfam/flag/icons-390.jpg');
background-position: -38px -36px;
background-size: calc(390px * 6.25) calc(260px * 4.5);
image-rendering: -moz-crisp-edges;
image-rendering: pixelated;
}
<div class="flag"></div>
来源
2016-03-28 08:48:58
xpy
瓦努阿图如何calc下的新位置'背景位置:-38px -36px' –
@AzeemHaider那一个,我手动做的,但它是“从旗的距离*距顶部* 4.5英寸的距离* 6.25米,在这种情况下是6 * 6.25,8 * 4.5。 – xpy