GROVER.
GROVER.

Reputation: 4378

Text Above Image CSS Z-Index Not Working

I am trying to force the text above the image, however, It doesn't want to work, I have tried z-index 100 on the text and -100 on the image, but It still doesn't work...

Main HTML:

<div class="menu-defaults menu-overlay">
        <div class="menu-container">
            <div class="menu-gallery">
                <a href="">
                    <div class="menu-gallery-options">
                        <div class="menu-gallery-options-title">
                            <span class="gallery-options-title-style" style="z-index: 1;">HOME</span>
                        </div>
                        <div class="menu-gallery-options-img">
                            <img src="data/_img/static_ex.jpg" style="z-index: -1;" class="gallery-options-img-style">
                        </div>
                    </div>
                </a>
            </div>
        </div>
    </div>

Main CSS:

    .menu-defaults{
    width: 100%;
    height: 100%;
}
.menu-container{
    width: 90%;
    height: 100%;
    margin: 0 auto;
}
.menu-gallery{
    margin-top: 160px;
}
.menu-gallery-options{
    width: 460px;
    height: 259;
    box-shadow: 0px 0px 20px #000;
    margin: 20px 20px 20px 20px;
}
.menu-gallery-options-title{
    width: 100%;
    height: auto;
    text-align: center;
}
.gallery-options-title-style{
    font-size:32px;
    font-weight: 900;
    color: white;
    font-family: arial;
    text-decoration: none;
}
.menu-gallery-options-img{
    margin: -45px 0;
    padding: 0;
}
.gallery-options-img-style{
    width: 100%;
    height: auto;
}

Any help is appreciated, I have looked high and low but can't find anything.. :( Thanks

Upvotes: 0

Views: 1992

Answers (2)

Gautam Jha
Gautam Jha

Reputation: 1473

probably using position and z-index will help check this snippet

.menu-gallery-options-title{
  position:relative;
    width: 100%;
    height: auto;
    text-align: center;
  z-index:999;
}

    .menu-defaults{
    width: 100%;
    height: 100%;
}
.menu-container{
    width: 90%;
    height: 100%;
    margin: 0 auto;
}
.menu-gallery{
    margin-top: 160px;
}
.menu-gallery-options{
    width: 460px;
    height: 259;
    box-shadow: 0px 0px 20px #000;
    margin: 20px 20px 20px 20px;
}
.menu-gallery-options-title{
  position:relative;
    width: 100%;
    height: auto;
    text-align: center;
  z-index:999;
}
.gallery-options-title-style{
    font-size:32px;
    font-weight: 900;
    color: white;
    font-family: arial;
    text-decoration: none;
}
.menu-gallery-options-img{
    margin: -45px 0;
    padding: 0;
}
.gallery-options-img-style{
    width: 100%;
    height: auto;
}
<div class="menu-defaults menu-overlay">
        <div class="menu-container">
            <div class="menu-gallery">
                <a href="">
                    <div class="menu-gallery-options">
                        <div class="menu-gallery-options-title">
                            <span class="gallery-options-title-style" style="z-index: 1;">HOME</span>
                        </div>
                        <div class="menu-gallery-options-img">
                            <img src="http://www.planwallpaper.com/static/images/Winter-Tiger-Wild-Cat-Images.jpg" style="z-index: -1;" class="gallery-options-img-style">
                        </div>
                    </div>
                </a>
            </div>
        </div>
    </div>

Upvotes: 1

Maximillian Laumeister
Maximillian Laumeister

Reputation: 20359

I am assuming that you cannot just swap the order of the title and image elements, so you are forced to use css positioning.

Here is a live example with both elements position: relative (so that they respect z-index) and with a z-index set on the image:

.menu-defaults{
    width: 100%;
    height: 100%;
}
.menu-container{
    width: 90%;
    height: 100%;
    margin: 0 auto;
}
.menu-gallery{
    margin-top: 160px;
}
.menu-gallery-options{
    width: 460px;
    height: 259;
    box-shadow: 0px 0px 20px #000;
    margin: 20px 20px 20px 20px;
}
.menu-gallery-options-title{
    width: 100%;
    height: auto;
    text-align: center;
    position: relative;
}
.gallery-options-title-style{
    font-size:32px;
    font-weight: 900;
    color: white;
    font-family: arial;
    text-decoration: none;
}
.menu-gallery-options-img{
    margin: -45px 0;
    padding: 0;
    position: relative;
    z-index: -1;
}
.gallery-options-img-style{
    width: 100%;
    height: auto;
}
<div class="menu-defaults menu-overlay">
        <div class="menu-container">
            <div class="menu-gallery">
                <a href="">
                    <div class="menu-gallery-options">
                        <div class="menu-gallery-options-title">
                            <span class="gallery-options-title-style" style="z-index: 1;">HOME</span>
                        </div>
                        <div class="menu-gallery-options-img">
                            <img src="https://i.imgur.com/5LGqY2p.jpg?1" style="z-index: -1;" class="gallery-options-img-style">
                        </div>
                    </div>
                </a>
            </div>
        </div>
    </div>

Upvotes: 2

Related Questions