1

我有一个问题,在我的另一个网站上,这一切都对我有用,但对于我的新网站,它不是。但这是我的问题,我试图在我的网站上设置不同的部分,所以我没有将位置设置为具有任何值的部分。左上方。我不会给他们一个postion:absoluteCSS 或任何东西,因为我希望他们“堆叠”。

但是现在,他们在我网站上的所有内容都落后,好像 z-index 低于其他人一样,但这绝对不是我玩过多少次。

这是我的代码,单击此处查看 JSFiddle 上的更新示例。

HTML

<div id="bg_reg"></div>
<div id="bg_blur"></div>  
<div id="section2">You can't see this div.</div>

Javascript

$(function() {

    // hide #back-top first
    $("#bg_blur").hide();

    // fade in #back-top
    $(function () {
        $(window).scroll(function () {
            if ($(this).scrollTop() > 70) {
                $('#bg_blur').fadeIn(600);
            } else {
                $('#bg_blur').fadeOut(600);
            }
        });
    });

}); 

CSS

#section2{
    width:100%;
    background:url(../images/white.jpg) #FFF;
    -webkit-box-shadow: 0px 0px 30px rgba(50, 50, 50, 1);
-moz-box-shadow:    0px 0px 30px rgba(50, 50, 50, 1);
box-shadow:         0px 0px 30px rgba(50, 50, 50, 1);
z-index:150;
} 
#bg_reg {
        background: url(../images/bg_reg.jpg) no-repeat right top;
        background-size: cover;
        position: fixed;
        bottom: 0%;
        left: 0%;
        width: 100%;
        height: 100%;
        -webkit-transition: opacity 500ms;
        -moz-transition: opacity 500ms;
        -o-transition: opacity 500ms;
        -ms-transition: opacity 500ms;
        transition: opacity 500ms;
        z-index:0;
    }

    #bg_blur {
        background: url(../images/bg_blur.jpg) no-repeat right top;
        background-size: cover;
        position: fixed;
        bottom: 0%;
        left: 0%;
        width: 100%;
        height: 100%;
        z-index:0;
    }

可能是一个非常愚蠢的问题,有人会很容易知道答案,但我很难过。提前感谢所有帮助!

**我现在知道 z-index 不适用于非定位元素,但我怎样才能让这个网站的内容正常工作?我让它在这个网站上按我想要的方式工作,但我不知道我做了什么不同的事情。

4

2 回答 2

2

我不确定你想出现在哪里#section2,但要让它在堆叠顺序中可见,只需设置position: relative如下:

#section2 {
    position: relative;
    height:100px;
    width:100%;
    background:#FFF;
    -webkit-box-shadow: 0px 0px 30px rgba(50, 50, 50, 1);
    -moz-box-shadow: 0px 0px 30px rgba(50, 50, 50, 1);
    box-shadow: 0px 0px 30px rgba(50, 50, 50, 1);
    z-index:150;
}

参见演示:http: //jsfiddle.net/audetwebdesign/HM5Ct/

设置position: relative将元素保留在文档流中,并允许它与固定和绝对定位的元素一起以新的堆叠顺序呈现。

效果不错,很好的利用了CSS3技术!保持良好的工作。

于 2013-09-08T22:50:29.330 回答
0

在规范中,必须定位元素以具有 z-index。

CSS/属性/z-index

Point, Note
仅适用于定位元素(位置:绝对;位置:相对;或位置:固定;)。

position: relative;如果您不想使用,则需要申请position: absolute;


您还可以通过对背景应用负 z-index 来归档相同的效果,因此您无需为其他元素设置任何 z-index 或定位。

http://jsfiddle.net/qSC7N/5/

#bg_blur {
    background: url(http://s7.postimg.org/lyra1ksah/bg_blur.jpg) no-repeat right top;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; <-----
}

资源:


编辑基于评论

darrylhuffman.com页面上,您使用的是相同的技术,但#section1仍然不可见。内部的文本#section1继承z-index:4自其父级,并且您已申请position:absolute;使其#welcome可见。

http://jsfiddle.net/UF9Bf/

<div id="section1">
    NOTICE THAT THIS TEXT IS NOT VISIBLE!
        <div id="welcome">
          THIS IS VISIBLE
            <center><span id="hdh">HELLO, MY NAME IS DARRYL HUFFMAN AND I</span>
            ...

#section1 { /*Still invisible*/
    width: 100%;
    height: 100%;
    z-index: 4;
}

#welcome {
    position: absolute; /* THIS MAKE THE TEXT VISIBLE */
    ...
}
于 2013-09-08T22:32:48.637 回答