我有
body {
background: url(images/background.svg);
}
期望的效果是该背景图像的宽度等于页面的宽度,高度变化以保持比例 . 例如如果原始图像恰好是100 * 200(任何单位)且正文宽度为600px,则背景图像最终应为1200px高 . 如果调整窗口大小,高度应自动更改 . 这可能吗?
目前,Firefox看起来像是试图避免裁剪?我想垂直裁剪,然后滚动:没有水平重复 .
此外,Chrome将图像置于中心,不重复,即使明确指定 background-repeat:repeat
,这仍然是默认值 .
10 回答
这有一个CSS3属性,即background-size(compatibility check) . 虽然可以设置长度值,但它通常与特殊值
contain
和cover
一起使用 . 在您的具体情况下,您应该使用cover
:Eggsplanation包含和覆盖
抱歉不好的双关语,但我打算用picture of the day by Biswarup Ganguly进行演示 . 让我们说这是你的屏幕,灰色区域在你的可见屏幕之外 . 为了演示,我将假设一个16x9的比例 .
我们想用上面提到的图片作为背景 . 但是,出于某种原因,我们将图像裁剪为4x3 . 我们可以将
background-size
属性设置为某个固定长度,但我们将关注contain
和cover
. 请注意,我还假设我们没有破坏body
的宽度和/或高度 .包含
这样可以确保背景图像始终完全包含在背景定位区域中,但是,在这种情况下,
background-color
可能会填充一些空白空间:封面
这可以确保背景图像覆盖所有内容 . 没有可见的
background-color
,但是根据屏幕的比例,图像的很大一部分可能会被切断:使用实际代码进行演示
基于https://developer.mozilla.org/en-US/docs/CSS/background-size的提示,我最终得到了以下对我有用的配方
我不确定你到底在寻找什么,但是你真的应该看看Chris Coyier从CSS-Tricks写的这些优秀的博客文章:
http://css-tricks.com/how-to-resizeable-background-image/
http://css-tricks.com/perfect-full-page-background-image/
阅读每篇文章的描述,看看它们是否符合您的要求 .
第一个回答了以下问题:
第二篇文章的目标是获得以下内容,“网站上的背景图像始终覆盖整个浏览器窗口 . ”
希望这可以帮助 .
试试这个,
只需添加以下一行:
vh是视口高度 . 这将自动缩放以适合设备的浏览器窗口 .
点击此处查看:Make div 100% height of browser window
背景图像不是设置完美然后他的CSS是问题创建所以他的CSS文件更改为下面的代码
%; background-size:100%100%;“
我遇到了同样的问题,在调整浏览器尺寸时无法调整图像大小 .
坏代码:
好代码:
这里的关键是添加这个元素 - > background-size:contains;
这对我有用:
设置背景大小没有帮助,以下解决方案对我有用:
它基本上裁剪图像并使其适应,但仍然没有使它适合 .