2013-03-20 72 views
0

我想根據瀏覽器高度縮放圖像。Firefox中的圖像縮放問題

它似乎在Chrome和Safari中工作,但是當我在Firefox中檢查它時,圖像保持其原始大小。

這是我到目前爲止的代碼。

HTML:

<div class="full-width"> 
    <div class="image-wrapper"> 
     <div class="images"> 
      <img src="http://farm8.staticflickr.com/7165/6840151639_b31263de71_b_d.jpg" /> 
      <img src="http://farm8.staticflickr.com/7165/6840151639_b31263de71_b_d.jpg" /> 
     </div> 
    </div> 
</div> 

CSS:

.full-width { 
    height: 100%; 
    width: 100%; 
    position: absolute; 
} 

.image-wrapper { 
    position: absolute; 
    right: 0; 
    width: 50%; 
    height: 55%; 
    margin-right: 15px; 
} 

.images { 
    position: absolute; 
    right: 0; 
} 

.image-wrapper img { 
    display: block; 
    height: auto; 
    max-height: 50%; 
    width: auto\9; /* ie8 */ 
} 

您可以查看這裏工作的例子:http://jsfiddle.net/Pywak/

回答

0

你所有的絕對定位符比例大小計算。你的元素之間不再有父母/子女關係。

0

position:absolute;沒有position:relative;給父母當你調整瀏覽器的大小或者屏幕分辨率發生變化時,容器總是會讓你陷入問題。

我會建議,而不是IMG標籤使用它們作爲背景圖像,然後使用background:contain; || background:cover;財產。

+0

我確實有另一個外部div'#wrap'已經有'position:relative;'' – mousesports 2013-03-20 18:22:05

0

我只是在解決相同的問題!

因爲百分比是相對於父元素的,所以直接父元素具有明確指定的高度是關鍵。因此,.images應該具有指定的高度,以便其子級按百分比適當地確定大小。

您還可以使用vh單位(相對於視口高度)來設置高度尺寸,但要小心並有後備,因爲vh與所有瀏覽器都不兼容。