2014-01-28 63 views
4

我有一个固定的宽度/高度Div,它将图像保存为背景。CSS背景大小:包含没有图像的比例尺

我希望他们能够适应在div没有溢出 - 这是

background-size: contain;

完美的情况,但如果图像是比事业部小,它正在扩大规模。我不想那样。 我正在寻找的是像背景图像的最大宽度和最大高度。

在这里你可以看到一个简单的例子(用随机图像),我的问题: http://jsbin.com/uQevuna/1/edit

这是不可能改变页面的HTML代码。

+0

其实'cover'将扩大但'contain'将使它适合。你可以发布你的代码或创建一个小提琴吗? – ZimSystem

+0

我在原帖中加了一个,对不起 – Hauke

+0

JavaScript允许? – gvee

回答

0

这实际上不能用background-size来完成,因为它们的关键字并没有考虑原始图像的大小。

Here's an alternative使用display: table-cell

HTML:

<div class="wrap"> 
    <div> 
     <img src="http://placekitten.com/200/200" alt="" /> 
    </div> 
</div> 

CSS:

.wrap { 
    display: table; 
} 
.wrap div { 
    width: 300px; 
    height: 300px; 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
} 

img { 
    max-width: 100%; 
    max-height: 100%; 
    vertical-align: middle; 
} 
+0

我们已经有了一个新的网站,它有一个semilar解决方案(至少不是那些背景图片的东西),但我们必须修复旧版本。但是,谢谢 - 这显然是实现这种行为的最正确方法。 – Hauke