2015-06-27 21 views
0

标题说明了一切。我正在寻找一种解决方案,在不考虑使用background-size或任何其他解决方法的情况下,同时尊重宽高比,以使img标记填充父级(图像和父级未知大小)。我需要与图像块具有该图片的大小(其中background-size不)。我尝试了很多东西,比如min-widthmin-height,一些奇怪的东西用zoom,很多组合width/height: 100%/auto/0在flexbox中填充<img>并保留没有JavaScript的长宽比

编辑:我应该在原文中说明。我想显示整个图像,而不仅仅是从它的作物。因此,正确的结果将在左边&右边或顶部&有空闲空间(该空闲空间不被所述图像占用,仅由容器占用)。

html, body{ 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
#container { 
 
    border: 2px solid darkblue; 
 
    height: 95%; 
 
    width: 97%; 
 
} 
 

 
#pic { 
 
    width: 100%; 
 
    height: 100%; 
 
}
<div id="container"> 
 
    <img src="http://i.imgur.com/CtHGCLF.jpg?1" id="pic"> 
 
</div>

回答

2

如果我理解正确的话,这将解决这个问题。

html, body{ 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
#container { 
 
    border: 2px solid darkblue; 
 
    height: 95%; 
 
    width: 97%; 
 
text-align: center; 
 
} 
 

 
#pic { 
 
    max-width: 100%; 
 
    max-height: 100%; 
 
}
<div id="container"> 
 
    <img src="http://i.imgur.com/CtHGCLF.jpg?1" id="pic"> 
 
</div>

+0

谢谢。经过微小的修改(在另一个div中包含图像,高度和宽度100%,可能是#container被绝对定位的东西),它很好地工作:)。 – monnef

0

height:auto应该做的魔力:

html, body{ 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
#container { 
 
    border: 2px solid darkblue; 
 
    width: 97%; 
 
} 
 

 
#pic { 
 
    width: 100%; 
 
    max-width: max-content; 
 
    height: auto; 
 
}
<div id="container"> 
 
    <img src="http://i.imgur.com/CtHGCLF.jpg?1" id="pic"> 
 
</div>

+0

不幸的是它会导致'#container'溢出http://codepen.io/monnef/pen/oXpZQo(我想要的容器有'高度:100%'或任意的,而是不会被'img'膨胀)。我编辑的问题更具体,对不起。 – monnef

相关问题