修复了顶部导航栏和滚动

时间:2016-02-29 10:58:07

标签: html css scroll fixed background-attachment

我为我姐姐的生日创建一个假公司的网站,我在固定的背景上遇到了一些麻烦。我知道它应该是简单的,只是附件的问题:固定,但它似乎并不是出于某种原因而起作用。原因显然是我,但我认为你可以帮助我:)

以下是网站:http://camilleperrin.fr/BBE/,当您需要滚动时会出现问题(如果您的分辨率为1920x1080,则会显示此页面:http://camilleperrin.fr/BBE/index.php?page=careers)。如果你有一个巨大的屏幕,你不能看到问题,背景图像不会停留在应有的位置,并向下滚动。

这是我的代码(我在互联网的帮助下,我自己并没有提出所有这些代码):

CSS:

    body{
        background:url('background.jpg') no-repeat center 160px fixed;
    }

    #overallcontainer{
        padding: 70px 90px 120px 90px;
    }

    #blurcontainer {
        position: relative;
    }

    #blurbg{
        background:url('background.jpg') no-repeat center 160px fixed;
        text-align:center;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 99;  
        width:800px;
        margin:0 auto;
        padding:60px;

      -webkit-filter: blur(5px);
    }

    #textContainer  {
        position: relative;     
        z-index: 100;
        background: rgba(0,0,0,0.65);
        margin:0 auto;
        color:#dde;
        width:800px;
        padding:60px;
        text-align:justify;
    }

HTML:

<div id="overallcontainer">
    <div id="blurcontainer">
        <div id="blurbg"></div>
        <div id="textContainer">
            blah blah blah
        </div>
    </div>
</div>

如果您知道如何在保留模糊文本容器的同时解决这个问题,那将非常有用。

谢谢!

CAMILE

1 个答案:

答案 0 :(得分:0)

问题是由背景位置的160px顶部偏移引起的。我假设你这样做是为了防止背景干扰你的标题。但是,fixed位置会保留偏移量,因为它在视口中“卡住”。我建议您从body中删除背景并将其直接应用到主要内容容器#overallcontainer以解决此问题:

#overallcontainer {
    padding: 70px 90px 120px 90px;
    background: url('../design/careers.jpg') no-repeat top center fixed;
    background-size: cover; /* makes sure image covers entire viewport */
}

编辑 - 另一种方法

正如评论中所讨论的,之前的方法可能不会跨越整个视口,因为#overallcontainer具有基于内容的动态高度,并且可能小于实际视口高度,从而创建空白空白。

这可以通过将背景恢复到body,然后通过向标题添加纯白色背景来创建隐藏正文背景的特殊标题元素来缓解。

更改

<img src="design/header.jpg">

<header><img src="design/header.jpg"></header>

CSS

body { 
   ...
    background: url('../design/company.jpg') no-repeat top center fixed;
    background-size: cover;
}

header {background:#FFF;}

#overallcontainer { /* no need for any styles to this div any more */ }