Drop down menu cuts off or appears behind div

I have a drop down menu which is appearing behind my image transition gallery div. Below is the image of what it looks like and the HTML and CSS for it.

enter image description here

HTML:

<body> <div> <div> <div> <a href=""><img src="images/logo.gif" alt="Ed Osborne" width="225" height="115"></a></div> <div> <ul class = "menu" > <li> <a href = "#" > Home </a> </li> <li><a href = "#" > Packages </a> <li><a href = "#" > Weddings </a> <li><a href = "#" > Lifestyle </a> <ul class = "submenu" > <li> <a href = "#" > Families </a> </li> <li> <a href = "#"> Newborn/Child </a> </li> <li> <a href = "#" > Portraits </a> </li> </ul> </li> <li> <a href = "#" > Blog </a> </li> <li><a href = "#"> Abous Us </a> <ul class = "submenu" > <li> <a href = "#" > Ed Osborne </a> </li> <li> <a href = "#" > Testimonials </a> </li> <li> <a href = "#" > FAQs </a> </li> </ul> </li> <li> <a href = "#" > Contact Us </a> </li> <li> <a href = "#" > Links </a> </li> </ul> </div> </div> </div> <div> <div> <a href="images/cubagallery-img-1.jpg"> <img src="images/cubagallery-img-1.jpg" /></a> <a href="images/cubagallery-img-15.jpg"> <img src="images/cubagallery-img-15.jpg" /></a> <a href="images/cubagallery-img-3.jpg"> <img src="images/cubagallery-img-3.jpg" /></a> <a href="images/cubagallery-img-4.jpg"></a> <img src="images/cubagallery-img-4.jpg" /></a> </div> </div> 

CSS:

.min-gallery { width: 927px; height: 615px; border: solid 1px black; background-color: Black; background: url(../images/bg.jpg); margin: auto; margin-left: 232px; } .min-gallery .preview { width: 852px; height: 493px; margin-top: 36px; margin-left: 36px; margin-right: 36px; position: relative; border: solid 2px black; overflow: hidden; background-color: White; } .min-gallery .preview img { /* width: 795px; height: 525px;*/ position: absolute; } .min-gallery .bottom { width: 100%; height: 98px; color: Gray; font-family: Arial; font-size: 1em; font-weight: bold; overflow: hidden; } #top_bar { width: 100%; height: 145px; background: #000000; padding-bottom: 20px; } #top_inner { text-align: center; margin: 0 auto; width: 1000px; height: 144px; } .nav { margin: 0 auto; position: relative; padding-top: 100px; } ul.menu { list-style: none; margin: 0; float: left; background: #222; font-size: 1.2em; background: url(../images/topnav_bg.gif) repeat-x; } ul.menu li { float: left; margin: 0; position: relative; } ul.menu li a{ padding: 10px 18px; color: #fff; display: block; text-decoration: none; float: left; } ul.menu li a#left{ padding: 10px 5px; color: #fff; display: block; text-decoration: none; float: left; } ul.menu li a:hover { background: url(../images/topnav_hover.gif) no-repeat center top; } ul.menu li span { width: 11px; height: 35px; float: left; background: url(../images/subnav_btn.gif) no-repeat center top; } ul.menu li span.subhover { background-position: center bottom; cursor: pointer; } ul.menu li ul.submenu { list-style: none; position: absolute; left: 0; top: 35px; background: #333; margin: 0; padding: 0; display: none; float: left; width: 170px; -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; border: 1px solid #111; } ul.menu li ul.submenu li{ margin: 0; padding: 0; border-top: 1px solid #252525; border-bottom: 1px solid #444; clear: both; width: 170px; } html ul.menu li ul.submenu li a { float: left; width: 122px; padding-left: 30px; text-align: left; } 

When I remove position:absolute from .min-gallery .preview img, the drop down menu appears on top which is how I want it but the images do stop changing and just stick on one image.

Anyone got a quick fix? Sorry about the pasting of all the code but I dont know how else I can express my point to you guys

Thanks

1

4 Answers

set the higher z-index of drop down menu .

.submenu { z-index: 999; } 

reason "An element with greater stack order is always in front of an element with a lower stack order."

3

Use a z-index for your drop down menu.

.submenu { z-index: 1; } 

Also, as a side note, if you are using prefixed properties you should also use the spec property as well which should appear last after the vendor specific prefixes. Example:

-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; 

When a vendor supports the standard property, you don't have to change your code.

1

Find the overflow property in the parent or in the child element and remove the overflow property.

You are welcome

Use

.submenu { z-index: 1;position :relative}

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like