如何使用 CSS 媒体查询将背景图像缩放到查看窗口

Posted

技术标签:

【中文标题】如何使用 CSS 媒体查询将背景图像缩放到查看窗口【英文标题】:How to use CSS media query to scale background-image to viewing window 【发布时间】:2013-03-19 05:47:56 【问题描述】:

我有这张大图作为网站的背景:

body 
    background: #000 url(/assets/img/living.jpg) no-repeat center center;
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height:100%;

但在我的移动设备(iPhone 4S - Safari)上,background-attachment: fixed 的效果似乎与在台式机上的效果不同。为什么会这样?我可以使用媒体查询来解决这个问题吗?

【问题讨论】:

到底发生了什么?可以发个链接调查一下吗? 移动版 Safari 可能不支持background-attachment: fixed。看看***.com/questions/3011226/… 【参考方案1】:

试试这个 - 您并不总是需要媒体查询来处理背景图片。 CSS3 background-size:cover 属性可以很好地处理这一切。以下内容在我测试过的所有移动设备上都非常适用——尤其适用于 android、移动版浏览器和所有平板电脑。

body  
    background-image: url(/assets/img/living.jpg); 
    background-repeat: no-repeat; 
    background-position: center;
    background-attachment: fixed;       
    webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height:100%;
    width:100%; 
   

【讨论】:

不幸的是,覆盖和固定的无重复背景在 Android 平板电脑纵向模式下不起作用。 在你的 CSS 中添加 htmlheight:100%,width:100%。 @arp 哇哇哇。谢谢!这解决了我在移动设备上无法始终显示背景图片的问题!

以上是关于如何使用 CSS 媒体查询将背景图像缩放到查看窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何在滚动内容中使用 100% CSS 背景图像?

了解 Retina 设备 CSS 媒体查询

我可以在内部 CSS 中使用媒体查询,它会避免加载我定义的背景图像吗?

Chrome + css3:媒体查询缩放错误

基于窗口大小的闪亮动态内容(如 CSS 媒体查询)

使用媒体查询进行移动优化的背景而不是内联图像?