【问题标题】:twitter-bootstrap: make a row (div) background image auto scale and center to fill 100%?twitter-bootstrap:使一行(div)背景图像自动缩放并居中填充 100%?
【发布时间】:2015-10-17 00:43:57
【问题描述】:

我有一个引导页面,其中一些行有背景图像。有没有办法(最好是 css)来缩放这样的背景图像,使其始终居中并填充 div 100%?

所以我不是指整个页面的全屏背景图片(如this),它只需要填充 div(通常是我的引导容器中的一行)。

我的意思是这样的:

因此,无论 div 的显示分辨率和实际屏幕大小如何,其背景图像都应相应缩放,以便完全填充 div。图片不应按比例拉伸,这意味着图片的一部分通常会落在 div 之外,无论是上/下还是左/右(除非 div 恰好具有精确的与图像相同的纵横比)。

图片也应该居中,即背景图片的中间应该在div的中间。

我用background-size:100% autoauto 100% 尝试了各种方法,这似乎在一个方向上工作正常,但我似乎无法找到适用于所有情况的通用解决方案。

【问题讨论】:

  • 你目前的结果是什么?
  • @knitevision:我能得到的最接近的是this,如果显示器变得非常窄(比如在垂直方向的手机屏幕上),它就不能正常工作。

标签: css twitter-bootstrap background-image scale centering


【解决方案1】:

当然,您可以将相同的想法应用于任何元素:

yourdiv  {
     background: url(images/bg.jpg) no-repeat center center fixed;
     /* and one of these: */
     background-size:contain;
     background-size:cover;
}

【讨论】:

  • 谢谢,效果很好!我只删除了fixed(在这种情况下,背景应该滚动并保持在 div 的中心)。使用 background-size:cover; 似乎适用于 Firefox、Chrome 和 Safari(不确定 IE,但我会抓住机会)。
  • 出于兼容性原因,您是否建议也添加特定于浏览器的属性,即-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;?还是它们也有可能弊大于利?
猜你喜欢
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
相关资源
最近更新 更多