简体   繁体   中英

IE9 CSS3 Drop down menu, errors errors errors

Before I ask my continue please keep in mind that I am only just getting back into web development and it has been almost 8 years since I have used HTML daily.

I am currently creating a website

I am using the CSS3 Drop Down Menu, I tweaked it a little bit to suit (colours, widths etc) Here is the CSS code:

    #cssmenu{ height:37px; display:block; padding:0; margin: 0;  border:1px solid; border-radius:5px; } 
#cssmenu > ul {list-style:inside none; padding:0; margin:0;} 
#cssmenu > ul > li {list-style:inside none; padding:0; margin:0; float:left; display:block; position:relative;} 
#cssmenu > ul > li > a{ outline:none; display:block; position:relative; padding:12px 20px; font:bold 13px/100% Arial, Helvetica, sans-serif; text-align:center; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.4); } 
#cssmenu > ul > li:first-child > a{border-radius:5px 0 0 5px;} 
#cssmenu > ul > li > a:after{ content:''; position:absolute; border-right:1px solid; top:-1px; bottom:-1px; right:-2px; z-index:99; } 
#cssmenu ul li.has-sub:hover > a:after{top:0; bottom:0;} 
#cssmenu > ul > li.has-sub > a:before{ content:''; position:absolute; top:18px; right:6px; border:5px solid transparent; border-top:5px solid #fff; } 
#cssmenu > ul > li.has-sub:hover > a:before{top:19px;} 
#cssmenu ul li.has-sub:hover > a{ background:#3f3f3f; border-color:#3f3f3f; padding-bottom:13px; padding-top:13px; top:-1px; z-index:999; } 
#cssmenu ul li.has-sub:hover > ul, #cssmenu ul li.has-sub:hover > div{display:block;} 
#cssmenu ul li.has-sub > a:hover{background:#3f3f3f; border-color:#3f3f3f;} 
#cssmenu ul li > ul, #cssmenu ul li > div{ display:none; width:auto; position:absolute; top:38px; padding:10px 0; background:#3f3f3f; border-radius:0 0 5px 5px; z-index:999; } 
#cssmenu ul li > ul{width:200px;} 
#cssmenu ul li > ul li{display:block; list-style:inside none; padding:0; margin:0; position:relative;} 
#cssmenu ul li > ul li a{ outline:none; display:block; position:relative; margin:0; padding:8px 20px; font:10pt Arial, Helvetica, sans-serif; color:#fff; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.5); } 


#cssmenu, #cssmenu > ul > li > ul > li a:hover{ background:#333333; background:-moz-linear-gradient(top, #333333 0%, #222222 100%); background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#333333), color-stop(100%,#222222)); background:-webkit-linear-gradient(top, #333333 0%,#222222 100%); background:-o-linear-gradient(top, #333333 0%,#222222 100%); background:-ms-linear-gradient(top, #333333 0%,#222222 100%); background:linear-gradient(top, #333333 0%,#222222 100%); filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#222222',GradientType=0 ); } 
#cssmenu{border-color:#000;} 
#cssmenu > ul > li > a{border-right:1px solid #000; color:#fff;} 
#cssmenu > ul > li > a:after{border-color:#444;} 
#cssmenu > ul > li > a:hover{background:#111;}

And here is the relevant header.php (I am using PHP includes) :

<div id='cssmenu'> <ul>    <li class='active '><a href='index.php'><span>Home</span></a></li>    <li><a href='about.php'><span>About</span></a></li>    <li class='has-sub '><a href='#'><span>Services</span></a>
      <ul>
         <li><a href='resdemo.php'><span>Residential Demolition</span></a></li>
         <li><a href='comdemo.php'><span>Commercial Demolition</span></a></li>
         <li><a href='partdemo.php'><span>Partial Demolition</span></a></li>
         <li><a href='excavate.php'><span>Excavation and Bobcat Jobs</span></a></li>
         <li><a href='asbestos.php'><span>Asbestos Removal</span></a></li>
         <li><a href='bins.php'><span>Bin Hire</span></a></li>
         <li><a href='internal.php'><span>Internal Strip Outs</span></a></li>
         <li><a href='concrete.php'><span>Concrete and Pavement Removal</span></a></li>
         <li><a href='trees.php'><span>Vegetation and Tree Removal</span></a></li>
      </ul>    </li>    <li><a href='/gallery/index.php' target='new'><span>Gallery</span></a></li>    <li><a href='quote.php'><span>Free Quote</span></a></li>    <li><a href='contact.php'><span>Contact</span></a></li> </ul>    </div>

Any help will be greatly appreciated as this menu has been a common request lately. BTW I have tried using the online css validator tool but it didn't make a difference, just took away the menu gradients (visible in Chrome and Firefox only)

Thanks, Angie.

Here is a cross browser compatible horizontal nav menu (w/ drop down subnav).

It doesn't have gradients though. For cross browser gradients, have a look at CSS3 PIE .

You can play w/ the gradients and then get the CSS and add it to your menu.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM