【问题标题】:Make background image 100% of viewport使背景图像 100% 的视口
【发布时间】:2014-05-25 22:04:39
【问题描述】:

我正在寻找一种解决方案,使我的打开背景图像成为视口的 100%,在使用 Josh powel 的答案Page height to 100% of viewport? 之后,它可以在 mac 上的 chrome 上运行,但不能在任何其他浏览器上运行(在 mac 上或 windows)当我说“它适用于 mac 上的 chrome”时,它在大多数情况下都适用,但是如果我将浏览器拉伸得太高,它不适合覆盖,我会看到我的下一点内容,所以它就像它只适用高度可达 x...

这是我的代码:

<section class="intro">
<div class="intro-body">
</div>
</section>




.intro {
display: table;
width: 100%;
height: 100%;
padding: 350px 0 330px;
text-align: center;
color: #fff;
position: relative;
background: url(http://www.wallsave.com/wallpapers/1920x1200/plain-blue-gradient/2567400/plain-blue-gradient-pc-mac-hd-2567400.jpg) no-repeat center;
background-size:cover;
}




.intro-page {
padding: 150px 0 130px;
background: url(http://www.wallsave.com/wallpapers/1920x1200/plain-blue-gradient/2567400/plain-blue-gradient-pc-mac-hd-2567400.jpg) no-repeat center;
background-size: cover;
}

function windowH() {
var wH = $(window).height();

$('.intro, .intro-page').css({height: wH});
}

在这里拉小提琴http://jsfiddle.net/9h98f/1/

如果有人能提供任何启示,那就太好了。

【问题讨论】:

    标签: css background-image viewport


    【解决方案1】:

    为了使元素达到页面的 100% 高度,您还必须具备:

    html,body { height: 100%; min-height: 100%; }
    

    在 CSS 中执行此操作比使用 JS 更好、更可靠。

    或者,您可以将背景图像放在正文上(使用 background-size: cover,就像您正在使用的那样)。

    【讨论】:

    • 对不起,我其实已经有了,我现在已经更新了我的 jsfiddle jsfiddle.net/9h98f/3
    • 在回复您的另一个选项时,“或者,您可以将背景图像放在身体上”我试了一下,现在它可以在 mac 上的 chrom 和 safari 上运行,但仍然不能在 IE 上运行, FF 或 CHROME(Windows)
    • Plus 在移动设备上运行良好,我想知道是不是我的电脑在玩 cookie/缓存。我已删除所有 Windows 浏览器上的缓存
    • 我在想你把背景放在.intro 上是出于某种未提及的限制性原因。如果你可以把它放在body 上,那绝对是它应该去的地方。请记住background-size 在 IE 中不起作用
    • 我最初将背景放在 .intro 上,因为它是视差的,我有 2 个视差背景图像,这是其中之一。将它添加到身体已经失去了视差效果,但这没关系,因为看起来仍然不错。我正在使用 IE10,但仍然无法覆盖屏幕或最新版本的 FF 或 Chrome。基本上在mac上可以正常工作,在pc上不行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多