【问题标题】:Resizing Background image according to container Div根据容器 Div 调整背景图片大小
【发布时间】:2013-06-13 11:57:03
【问题描述】:

我有一个像 image.jpg 这样的背景图片。我想根据正在使用它的任何 div 调整此图像的大小。

我怎样才能在 jquery 或任何其他方式中做到这一点。

【问题讨论】:

标签: c# jquery


【解决方案1】:

有很多不同的方法可以做到这一点。就执行速度而言,最好使用 CSS,但是 jQuery 可以使用 $().css() 方法完成 CSS 可以完成的任何事情。

这里有一个fiddle,它有四种五种不同的方法,从只是将图像放入,到在 css 和 jQuery 中拉伸。代码如下:

<style>
div
{
    background-image : url("http://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Les_Halles_%28metro_de_Paris%29_-_Entree.jpg/800px-Les_Halles_%28metro_de_Paris%29_-_Entree.jpg");

    height : 200px;
    width: 200px;
    margin: 10px;
    background-repeat : no-repeat;
    background-color: blue;
    float: left;
}

#one
{
    background-size:contain;
}

#two
{
    background-size: 100%;
}

#three
{
    background-size: 100% 100%;
}



</style>

<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
<div id="four"></div>
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
<div id="d"></div>

<script>
    $("#a").css("background-size","contain") //fits in aspect ratio
    $("#b").css("background-size","100%") //constrained by width
    $("#c").css("background-size","100% 100%") //stretch to fill
    $("#d").css("background-size","auto 100%") //constrained by height
</script>

希望这可以解决问题。

如果您想探索这些属性并看看还有什么可以做的,有一些关于 CSS 的很好的参考资料。

【讨论】:

  • -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/someimage.png',sizingMethod='scale')"; 适用于 IE8+(可能在早期版本中有效,但不确定)
  • msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx 获取有关特定 MS hack 的文档。
猜你喜欢
  • 2019-10-16
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 2012-04-10
  • 1970-01-01
相关资源
最近更新 更多