2013-03-20 88 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与所有浏览器都不兼容。