在Windows上使用Chrome瀏覽器的Macbook Pro Retina和Chrome瀏覽器時,我在嘗試顯示非視網膜和視網膜顯示圖像時出現一些奇怪的現象。CSS圖像和視網膜顯示
我有一些方形圖像和CSS如下:
/* NON RETINA */
/* style for all square images so no need to repeat */
.sq-img-small {
background-size: 239px 239px;
width:239px;
height:239px;
float:left;
margin:0 0 20px 10px;
}
.sq-img-small.img-small-1 {
background: url('../images/squares/food1.jpg') no-repeat top left;
}
/* RETINA */
@media
(-webkit-min-device-pixel-ratio: 2),(-moz-device-pixel-ratio: 2), (min-resolution: 192dppx) {
.sq-img-small.img-small-1 {
background: url('../images/squares/food1.2x.jpg') no-repeat top left;
}
我的HTML是:
<div class="sq-img-small img-small-1"></div>
非Retina顯示屏上的圖像非常清楚,但是視網膜圖像不應該顯示他們應該。我無法看到div
中的整個圖像 - 它似乎放大了圖像,所以我只能看到一小部分。
如果我添加:
background-size: 239px 239px;
width:239px;
height:239px;
到視網膜.sq-img-small.img-small-1
塊則顯示正常,但我不認爲我會需要做這個,因爲它應該在先權利繼承?或者在某種程度上受到@media
區塊影響的繼承?
=============== UPDATE ==============
經過進一步調查,似乎設置樣式爲所有正方形的圖像,然後指定每個圖像的路徑,當不在@media
塊內時工作正常,但當我在內部執行相同操作時不起作用。
在我的問題中,我提到我可以按照您的建議工作,但我試圖避免不必要的代碼。當然,如果我已經設置了背景大小,那麼我不需要再重複一遍。 – tommyd456
也記住,我有多個圖像顯示在div中。你的例子實際上只適用於一個圖像 – tommyd456
,而這個例子可能不是即插即用的,以符合你的css風格,他的方法與各種html網站上的其他例子相匹配,包括[this](http://code.tutsplus.com /教程/的右路到retinafy - 您 - 網站 - 網-31793)。只需將'.image'改爲'.img-small-1'。重要的區別在於@media查詢的結構。 – mix3d