由於您的標誌大小是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