Why z-index is not working for div?

2019-03-18 04:17发布

I am trying to get my footer to show on top of the footer background, but z-index seems not to be working. Does anyone see what is wrong with it? http://jsfiddle.net/f2ySC/

4条回答
该账号已被封号
2楼-- · 2019-03-18 04:43

You have to explicitly define the position property:

.footerBox {
    background-color: #FFFFFF;
    border: 10px solid #DDDDDD;
    margin: 10px 0 -200px -10px;
    width: 1185px;
    z-index: 1000;

    position:relative;

}

http://jsfiddle.net/f2ySC/1/


This brings the footer into the current stacking context:

... The root element forms the root stacking context. Other stacking contexts are generated by any positioned element (including relatively positioned elements) having a computed value of 'z-index' other than 'auto'. Stacking contexts are not necessarily related to containing blocks. In future levels of CSS, other properties may introduce stacking contexts, for example 'opacity' ...

http://www.w3.org/TR/CSS2/visuren.html#z-index

查看更多
在下西门庆
3楼-- · 2019-03-18 04:45

using negative margin is not a good practice. z-index:-1; works it just display the content on the background of another div :)

查看更多
等我变得足够好
4楼-- · 2019-03-18 04:48

On footerBox set the position attribute to absolute Your new code should read as follows

.footerBox {
    background-color: #FFFFFF;
    border: 10px solid #DDDDDD;
    margin: 10px 0 -200px -10px;
    width: 1185px;
    z-index: 1000;
    position: absolute;
}

See a demo here

Using position: relative also works

查看更多
太酷不给撩
5楼-- · 2019-03-18 04:59

Is this the effect you are looking for? Updated example

I added position: relative; to #footerBack and .footerBox to enable z-index

查看更多
登录 后发表回答