I have a vertical drop down menu that has three levels. I cannot seem to get the third drop down to be hidden until it is hovered. Any suggestions? I know I'm missing something simple, but I can't seem to figure it out.
Here is the HTML:
<li class="family">Family Matters
<ul class="familyhover">
<li class="familyhover">Adoptions</li>
<li class="familyhover">Custody/Proceedings
<ul class="familyhover">
<li class="familyhover">Child Custody Proceedings</li>
</ul></li>
<li class="familyhover">Protective Proceedings
<ul class="familyhover">
<li class="familyhover">Child Protective Proceedings</li>
</ul></li>
<li class="familyhover">Deceased Estates
<ul class="familyhover">
<li class="familyhover">Informal Probate</li>
<li class="familyhover">Small Estates</li>
<li class="familyhover">Affidavit of Successor</li>
</ul></li>
<li class="familyhover">Divorces
<ul class="familyhover">
<li class="familyhover">With Children</li>
<li class="familyhover">Without Children</li>
</ul></li>
<li class="familyhover">Fines & Fees
<ul class="familyhover">
<li class="familyhover">Circuit Court</li>
<li class="familyhover">Circuit Ct. - Family Div.</li>
<li class="familyhover">Probate Court</li>
</ul></li>
<li class="familyhover">Friend of the Court</li>
<li class="familyhover">Guardian/Conservator
<ul class="familyhover">
<li class="familyhover">Adult Guardian
<ul class="familyhover">
<li class="familyhover">Adult Guardianship</li>
</ul></li>
<li class="familyhover">Minor Guardian
<ul class="familyhover">
<li class="familyhover">Minor Guardianship</li>
</ul></li>
<li class="familyhover">Disabled Guardian
<ul class="familyhover">
<li class="familyhover">Dev. Disabled Guardianship</li>
</ul></li>
<li class="familyhover">Adult Conservator</li>
</ul></li>
<li class="familyhover">Juvenile Delinquency</li>
</ul></li>
Here is the CSS:
/* Sidebar Styles */
.side-bar {
background-color:rgba(255,255,255,0.6);
float:left;
}
/*main menu*/
.side-bar ul {
padding: 5px;
}
.side-bar ul li a {
color: #000;
font-size:15px;
width:225px;
padding-top: 10px;
padding-bottom: 15px;
display:block;
text-decoration:none;
}
.side-bar ul li a:hover {
text-decoration: none;
}
.side-bar ul li:hover ul {
background-color: #FFF;
display: block;
margin-left: 150px;
margin-top: -45px;
border-radius: 5px;
}
/*first drop*/
.side-bar ul ul {
position: absolute;
margin-left: 100px;
display: none;
z-index:1;
text-align: center;
padding:0;
}
/*first drop hover*/
.side-bar li:hover ul ul {
display:none;
}
/*second drop hover*/
.side-bar li ul li:hover ul {
display:block;
margin-top:-42px;
margin-left: 210px;
z-index:1;
text-align: center;
}
.sidebar > li.family:hover {
border-top: 3px solid #1A7208;
margin-top:-3px;
}
/*To change main nav 1st drop level background and link color for "FAMILY"*/
.sidebar > li.family ul.familyhover {
background-color:#FFF;
border-radius: 5px;
color:#FFFFFF;
}
/*User hovers over main nav 2nd drop level link menu for "FAMILY"*/
.sidebar > li.family ul.familyhover li.familyhover a:hover {
background-color:#1A7208;
border-radius: 5px;
color: #FFFFFF;
}
/*User hovers over main nav 3rd drop level link menu for "FAMILY"*/
.sidebar > li.family ul.familyhover li.familyhover ul.familyhover a:hover {
background-color:#1A7208;
border-radius: 5px;
color: #FFFFFF;
}
/*User hovers over main nav 4th drop level link menu for "FAMILY"*/
.sidebar > li.family ul.familyhover li.familyhover ul.familyhover a:hover {
background-color:#1A7208;
border-radius: 5px;
color: #FFFFFF;
}
And here is the JSFiddle: https://jsfiddle.net/yv4ogdcg/
I only posted the portion of the code that I need help on. The JSFiddle has the entire sidebar code. Any help is greatly appreciated.
Related
This is a double part fragment of dropdown menu with double part the issue is that I cannot make the two div be aside each other unless I use the div width to any ration.
the CSS code what I want is a method to display the two div below aside each other without using the width property in the html code.
.navbar ul li a{
text-decoration: none;
color: black;
padding: 16.2px;
display: block;
}
.navbar{
width: 100%;
height: 50px;
position: relative;
margin: 0;
padding: 0;
background-color: #c7ffff;
border:1px solid black;
}
.dropnavbar{
position: absolute;
margin: 0;
padding: 0;
height: 60px;/*can be negliacted if the default is auto*/
}
.active{
float: left;
text-align: center;
list-style: none;
width: 100px;
font-size: 15px;
}
.subnavbar{
display:none;
padding: 0;/*if forgotten the size of the dropdown nav will be greater than it's parrent*/
margin: 0;
}
.navbar li:hover .subnavbar{
display: block;
}
.navbar li:hover li,.navbar li:hover{
background-color:#e0ffff;
}
.subnavbar>li>a:hover{
background-color: aqua;
}
.subnavbar>li:nth-child(n+2){
border-top: 1px solid black;
}
<!DOCTYPE html>
<html>
<head>
<link href="navbar.css" rel="stylesheet">
<title>DropDown NavBar Trial 3</title>
</head>
<body>
<header>
<div class="navbar">
<ul class="dropnavbar">
<li class="active">About
</li>
<li class="active">Branches
<ul class="subnavbar">
<li class="active">Egypt
</li>
<li class="active">USA
</li>
<li class="active">UAE
</li>
<li class="active">France
</li>
</ul>
</li>
<li class="active">Categories
<div style="width:auto;">
<div style="float:left; width:10%;">
<ul class="subnavbar">
<li class="active">Books
</li>
<li class="active">Electronic Devices
</li>
<li class="active">House Gadgets
</li>
<li class="active">Sport Equipments
</li>
</ul>
</div>
<div style="float:right;width:10%;">
<ul class="subnavbar">
<li class="active">Books
</li>
<li class="active">Electronic Devices
</li>
<li class="active">House Gadgets
</li>
<li class="active">Sport Equipments
</li>
</ul>
</div>
</div>
</li>
<li class="active">Paying
</li>
</ul>
</div>
</header>
</body>
</html>
I hope this example will help you out!!!!
* {
margin:0;
padding:0;
}
#nav {
list-style:none;
height:2em;
}
#nav li {
position:relative;
float:left;
width:192px;
background:#999;
text-align:center;
}
#nav li:hover {
background:#777;
}
#nav a {
display:block;
color:#000;
text-decoration:none;
line-height:2em;
}
/* --------- Drop Down -------- */
#nav ul {
position:absolute;
left:-999em;
top:2em;
list-style:none;
}
#nav li:hover ul {
left:0;
top:auto;
}
<ul id="nav">
<li>Link1</li>
<li>Link2
<ul>
<li>Drop1</li>
<li>Drop2</li>
<li>Drop3</li>
</ul>
</li>
<li>Link3</li>
</ul>
This is what I want to achieve, whenever the user hovers on the listed Parent Category, it will display its 1st level child category as show in the image below. When the user hovers the parent category, it will show its child category.
This is my HTML Structure plus its CSS
HTML
.categories {
padding: 0;
margin: 0;
}
.categories a {
color: #FFF !important;
text-decoration: none;
font-size: 16px;
}
.categories ul {
list-style: none;
}
.categories ul li {
background: #000;
color: #FFF;
margin-bottom: 30px;
/* REMOVE THIS*/
vertical-align: top;
}
.categories ul li a {
display: inline-block;
margin-right: 15px;
position: relative;
}
/*CHILDREN */
.categories ul li ul {
padding: 0;
width: 100% auto;
display: inline-block;
}
.categories ul li ul li {
margin: 0 15px 0 0;
}
.categories ul li ul li {
width: auto;
display: block;
position: relative;
}
<li class="categories">
ARTICLES
<ul>
<li class="cat-item cat-item-1">
BPI
<ul class='children'>
<li class="cat-item cat-item-2449">
BPI Car Loan
</li>
<li class="cat-item cat-item-2448">
BPI Credit Card
</li>
<li class="cat-item cat-item-2446">
BPI Express Online
</li>
<li class="cat-item cat-item-2450">
BPI Housing Loan
</li>
<li class="cat-item cat-item-2447">
BPI Loans
</li>
</ul>
</li>
<li class="cat-item cat-item-2451">
Tech
<ul class='children'>
<li class="cat-item cat-item-2455">
Desktop
</li>
<li class="cat-item cat-item-2454">
Laptop
</li>
<li class="cat-item cat-item-2452">
Smart Phone
</li>
<li class="cat-item cat-item-2453">
Tablet
</li>
</ul>
</li>
</ul>
</li>
You may see the codes in action in the fiddle below.
https://jsfiddle.net/qnb986nd/
Here's my dilemma.
The problem with my code is the PARENT is sitting at the bottom (again, see my fiddle) of its container.
Another issue is that the children should be hidden first. It should be shown WHEN the parent category is hovered by the user. I've tried the visibility:hidden/visible; but it's not working.
Your help is highly appreciated.
you can fix the parent thing easily enough with vertical-align:top
with a bit of tinkering i got it to work
Jsfiddle
.categories {
padding: 0;
margin: 0;
}
.categories a {
color:#FFF !important;
text-decoration:none;
font-size:16px;
}
.categories ul {
list-style:none;
vertical-align:top;
}
.categories ul li {
background:#000;
color:#FFF;
vertical-align:top;
}
.categories ul li a{
display:inline-block;
margin-right:15px;
position:relative;
}
/*CHILDREN */
.categories ul li ul {
padding:0;
width:100% auto;
display:none;
}
.categories ul li:hover ul {
padding:0;
width:100% auto;
margin:0!important;
display:inline-block;
}
.categories ul li:hover a {
display:inline-block;
}
.categories ul li ul:hover li{
display:block;
left:500px!important;
width:200px;
position:absolute;
}
<li class="categories">
ARTICLES
<ul>
<li class="cat-item cat-item-1">
<a href="#" >BPI</a>
<ul>
<li class="cat-item cat-item-2449">
<a href="http://localhost/wp/category/bpi/bpi-car-loan/" >BPI Car Loan</a>
</li>
<li class="cat-item cat-item-2448">
<a href="#" >BPI Credit Card</a>
</li>
<li class="cat-item cat-item-2446">
BPI Express Online
</li>
<li class="cat-item cat-item-2450">
<a href="#" >BPI Housing Loan</a>
</li>
<li class="cat-item cat-item-2447">
<a href="#" >BPI Loans</a>
</li>
</ul>
</li>
<li class="cat-item cat-item-2451">
<a href="#" >Tech</a>
<ul>
<li class="cat-item cat-item-2455">
<a href="#" >Desktop</a>
</li>
<li class="cat-item cat-item-2454">
<a href="#" >Laptop</a>
</li>
<li class="cat-item cat-item-2452">
<a href="#" >Smart Phone</a>
</li>
<li class="cat-item cat-item-2453">
<a href="#" >Tablet</a>
</li>
</ul>
</li>
</ul>
</li>
Like miss Rachel says fix the parent thing easily enough with vertical-align:top.
And this is how to beautify your navbar. You can take a look from my example and learn from it.
HTML
<nav style="background-color:black;">
<ul>
<li>Home</li>
<li>Articles
<ul>
<li>Blogging</li>
<li>How To Guides</li>
<li>Tech
<ul>
<li>Mobile</li>
<li>Tablet PC</li>
</ul>
</li>
</ul>
</li>
<li>Submit An Article
<ul>
<li>Your Movie</li>
<li>User Experience</li>
</ul>
</li>
<li>About Us</li>
</ul>
</nav>
CSS
nav ul ul {
display: none;
}
nav ul li:hover > ul {
display: block;
}
nav ul {
background: #efefef;
background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -moz-linear-gradient(top, #000 0%, #020202 100%);
background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%);
box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
padding: 0 20px;
border-radius: 10px;
list-style: none;
position: relative;
display: inline-table;
}
nav ul:after {
content: ""; clear: both; display: block;
}
nav ul li {
float: left;
}
nav ul li:hover {
background: #4b545f;
background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%);
}
nav ul li:hover a {
color: #fff;
}
nav ul li a {
display: block; padding: 25px 40px;
color: #757575; text-decoration: none;
}
nav ul ul {
background: #5f6975; border-radius: 0px; padding: 0;
position: absolute; top: 100%;
}
nav ul ul li {
float: none;
border-top: 1px solid #6b727c;
border-bottom: 1px solid #575f6a;
position: relative;
}
nav ul ul li a {
padding: 15px 40px;
color: #fff;
}
nav ul ul li a:hover {
background: #4b545f;
}
nav ul ul ul {
position: absolute; left: 100%; top:0;
}
DEMO
Is there anything you not clear just comment. :)
Please check this demo. It may solve your problem JS Fiddle
CSS
.categories {
padding: 0;
margin: 0;
}
.categories a {
color:#FFF !important;
text-decoration:none;
font-size:16px;
}
.categories ul {
list-style:none;
}
.categories ul li {
background:#000;
color:#FFF;
vertical-align:top;
}
.categories ul li a{
display:inline-block;
margin-right:15px;
position:relative;
}
/*CHILDREN */
.categories ul li ul {
padding:0;
width:100% auto;
display:none;
}
.categories ul li ul{
margin:auto 50px ;
position:relative;
top:-18px;
}
.categories ul li ul li {
width:auto;
display: block;
position:relative;
}
.categories ul li:hover ul
{
display:block
}
HTML
<li class="categories">
ARTICLES
<ul>
<li class="cat-item cat-item-1">
<a href="http://localhost/wp/category/bpi/" >BPI</a>
<ul class='children'>
<li class="cat-item cat-item-2449">
<a href="http://localhost/wp/category/bpi/bpi-car-loan/" >BPI Car Loan</a>
</li>
<li class="cat-item cat-item-2448">
<a href="http://localhost/wp/category/bpi/bpi-credit-card/" >BPI Credit Card</a>
</li>
<li class="cat-item cat-item-2446">
<a href="http://localhost/wp/category/bpi/bpi-express-online/" >BPI Express Online</a>
</li>
<li class="cat-item cat-item-2450">
<a href="http://localhost/wp/category/bpi/bpi-housing-loan/" >BPI Housing Loan</a>
</li>
<li class="cat-item cat-item-2447">
<a href="http://localhost/wp/category/bpi/bpi-loans/" >BPI Loans</a>
</li>
</ul>
</li>
<li class="cat-item cat-item-2451">
<a href="http://localhost/wp/category/rock-band/" >Tech</a>
<ul class='children'>
<li class="cat-item cat-item-2455">
<a href="http://localhost/wp/category/rock-band/desktop/" >Desktop</a>
</li>
<li class="cat-item cat-item-2454">
<a href="http://localhost/wp/category/rock-band/laptop/" >Laptop</a>
</li>
<li class="cat-item cat-item-2452">
<a href="http://localhost/wp/category/rock-band/smart-phone/" >Smart Phone</a>
</li>
<li class="cat-item cat-item-2453">
<a href="http://localhost/wp/category/rock-band/tablet/" >Tablet</a>
</li>
</ul>
</li>
</ul>
</li>
I wrote a code using different internet source and I ran into a problem every object that's in the bottom of the menu parts cannot be interacted the menu interferes everything below him where the dropdown falls . the hitbox of the menu seems to included the dropdown even when its not shown
body {
padding: 0;
margin: 0;
font-family: Arial;
font-size: 23px;
}
#nav {
background-color:1a1a1a;
opacity: 0.9;
}
#nav_wrapper {
width: 960px;
margin: 0 auto;
text-align: right;
}
#nav ul {
list-style-type: none;
padding: 0;
margin: 0;
position: relative;
min-width: 200px;
}
#nav ul li {
display: inline-block;
}
#nav ul li:hover {
background-color: #333;
}
#nav ul li a, visited {
color: #CCC;
display: block;
padding: 15px;
text-decoration: none;
}
#nav ul li:hover ul {
display: block;
}
#nav ul ul {
display: none;
position: absolute;
background-color: #333;
border: 0px solid #222;
border-top: 0;
margin-left: -5px;
}
#nav ul ul li {
display: block;
}
#nav ul ul li a:hover {
color: #699;
}
.left-to-right {
text-align: left;
}
<body dir-"rtl"><div id="nav">
<div id="nav_wrapper">
<div>
<ul <ul dir="RTL">
<li> תרמילים
<ul class="left-to-right">
<!-- <li class="backpacks" id="firstlight-20l"> FirstLight 20L </li>
<li class="backpacks" id="firstlight-30l"> FirstLight 30L </li>
<li class="backpacks" id="firstlight-40l"> FirstLight 40L </li>-->
<li class="backpacks"> rotation180° Professional 38L Deluxe </li>
<li class="backpacks"> rotation180° Horizon 34L </li>
<li class="backpacks"> rotation180° Panorama 22L </li>
<!-- <li class="backpacks" id="rotation180-travel-away"> rotation180° Travel Away 22L </li>-->
<li class="backpacks" id="rotation180-trail"> rotation180° Trail 16L </li>
</ul>
</li>
<li> תיקי מצלמות ספורט
<ul class="left-to-right">
<li>GP 1 kit case
</li>
<li>GP 2 kit case
</li>
</ul>
</li>
<li> אביזרים
<ul class="left-to-right">
<li>r180º Panorama/Horizon Photo Insert
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</body>
Help will be appreciated
edit:
the menu is working but everything below him in the area where the dropdown fals dosent
I have learnt CSS online and I am new to web designing. Need some expert opinion here, I may have written something wrong or stupid. Please forgive that as I am a beginner.
Here are my CSS and HTML codes:
#menu {
float: left;
width: 1000px;
height: 30px;
background-color:#0066FF;
border-bottom: 1px solid #333;``
}
#menu ul {
float: left;
width: 1000px;
margin: 0;
padding: 7px 0 0 0;
list-style: none;
}
#menu ul li{
display:inline;
}
li ul {display: none;}
li:hover ul {display: block; position:relative;}
li:hover li a{background: #0066FF;}
#menu ul li a{
float: left;
padding: 0 20px;
font-size: 12px;
font-weight: bold;
text-align: center;
text-decoration: none;
color: #FFFFFF;
}
#menu li a:hover, #menu li .current{
color: #FFFF00;
}
#menu ul li:hover ul{
width: 150px;
white-space: nowrap
height: 10px;
text-align: center;
background:#0066FF;
}
<div id="menu">
<ul>
<li>Home</li>
<li>Quran
<ul>
<li>Translation</li>
<li>Tajweed</li>
<li>Tafseer</li>
<li>Qoutes</li>
</ul>
</li>
<li>Ahadees
<ul>
<li>Sahih Al-Bukhari</li>
<li>Sahih Muslim</li>
<li> Sunan Abu-Dawud</li>
<li>al-Tirmidhi</li>
<li>al-Nasa'i</li>
<li>Ibn Maja </li>
</ul></li>
<li>Wazaif
<ul>
<li>Allah's help</li>
<li>Rizzaq</li>
<li>Aulaad</li>
<li>Marriage</li>
</ul></li>
<li>Rights & Duties
<ul>
<li>As Parents</li>
<li>As Husband</li>
<li>As Wife</li>
<li>As Son</li>
<li>As Daughter</li>
</ul></li>
<li>Videos
<ul>
<li>Molana Tariq Jameel</li>
<li>Dr Zakir Naik</li>
<li>Dr Farhat Hashmi</li>
<li>Naat videos</li>
</ul></li>
<li>Quran & Science</li>
<li>Library
<ul>
<li>Masnoon Duain</li>
<li>Tib-e-Nabvi</li>
<li>Tafseer</li>
<li>Islamic comerace</li>
</ul></li>
<li>FAQs</li>
<li>Blogs</li>
<li>Contacts</li>
</ul>
</div>
It looks like the problem is that you haven't positioned the sub-menus properly.
Because the sub-menu have not been given position:absolute they remain in the documents flow and so disturb other elements when shown.
Adding position:absolute removes them from the flow and solves the problem.
In order to be positioned according to the parent li, that li needs to be a block (hence display:inline-block)(you could float the li too if that's your choice) and be given position:relative.
Here's a suggestion that should help you along the way.
#menu ul li {
display:inline-block;
position: relative;
}
li ul {
display: none;
position: absolute;
top:100%;
left:0;
}
li:hover ul {
display: block;
}
JSfiddle Demo
#menu {
float: left;
width: 1000px;
height: 30px;
background-color: #0066FF;
border-bottom: 1px solid #333;
``
}
#menu ul {
float: left;
width: 1000px;
margin: 0;
padding: 7px 0 0 0;
list-style: none;
}
#menu ul li {
display: inline-block;
position: relative;
}
li ul {
display: none;
position: absolute;
top: 100%;
left: 0;
}
li:hover ul {
display: block;
}
li:hover li a {
background: #0066FF;
}
#menu ul li a {
float: left;
padding: 0 20px;
font-size: 12px;
font-weight: bold;
text-align: center;
text-decoration: none;
color: #FFFFFF;
}
#menu li a:hover,
#menu li .current {
color: #FFFF00;
}
#menu ul li:hover ul {
width: 150px;
white-space: nowrap height: 10px;
text-align: center;
background: #0066FF;
}
<div id="menu">
<ul>
<li>Home
</li>
<li>Quran
<ul>
<li>Translation
</li>
<li>Tajweed
</li>
<li>Tafseer
</li>
<li>Qoutes
</li>
</ul>
</li>
<li>Ahadees
<ul>
<li>Sahih Al-Bukhari
</li>
<li>Sahih Muslim
</li>
<li> Sunan Abu-Dawud
</li>
<li>al-Tirmidhi
</li>
<li>al-Nasa'i
</li>
<li>Ibn Maja
</li>
</ul>
</li>
<li>Wazaif
<ul>
<li>Allah's help
</li>
<li>Rizzaq
</li>
<li>Aulaad
</li>
<li>Marriage
</li>
</ul>
</li>
<li>Rights & Duties
<ul>
<li>As Parents
</li>
<li>As Husband
</li>
<li>As Wife
</li>
<li>As Son
</li>
<li>As Daughter
</li>
</ul>
</li>
<li>Videos
<ul>
<li>Molana Tariq Jameel
</li>
<li>Dr Zakir Naik
</li>
<li>Dr Farhat Hashmi
</li>
<li>Naat videos
</li>
</ul>
</li>
<li>Quran & Science
</li>
<li>Library
<ul>
<li>Masnoon Duain
</li>
<li>Tib-e-Nabvi
</li>
<li>Tafseer
</li>
<li>Islamic comerace
</li>
</ul>
</li>
<li>FAQs
</li>
<li>Blogs
</li>
<li>Contacts
</li>
</ul>
</div>
I am trying to learn HTML/CSS and during the course I thought of creating a CSS based Drop Down Menu Navigation bar. I read almost all of the tutorials I could find and finally built it, but the problem is it doesn't work as expected, I got the Main menu working but, the lists are not showing up. Here's the structure of my HTML:
<div id="Header"/>
<div id="Navigation" >
<ul id="Menu-H">
<li id="HOME">HOME</li>
<li id="ITEMS">ITEMS</li>
<ul >
<li>New Item</li>
<li>Search Item</li>
</ul>
<li id="Category">CATALOG</li>
<li id="Inventory">INVENTORY</li>
</ul>
<a class="LogOutButton" href="#">LOG OUT</a>
And here is the CSS I built:
#Menu-H {
padding: 0;
margin: 0;
list-style-type: none;
margin-left: 50px;
}
#Menu-H li {
float:left;
}
#Menu-H li:hover {
background: #f4f4f4;
border-radius: 5px 5px 0px 0px;
}
#Menu-H li a {
//border-left: 2px solid blue;
//border-right: 2px solid blue;
//background-color: white;
display:block;
padding: 5px 15px 5px 15px;
text-decoration: none;
text-shadow: 1px 1px 1px #FFFFFF
}
#Menu-H li:hover a {
color: #161616;
text-shadow: 1px 1px 1px#FFFFFF;
}
/* Drop Down Menu.........*/
#Menu-H ul {
background: #161616;
background:rgba(255,255,255,0);
list-style: none;
display: none;
}
Menu-H ul li {
padding-top: 1px;;
float: none;
}
Menu-H li:hover ul {
display:block;
}
#Menu-H li:hover a {
background: #6b0c36;
}
#Menu-H li:hover ul li a:hover {
background: #333;
}
I can not find the reason.
Your HTML is't right, You need to place the secondary <ul> inside the parent <li>
<ul id="Menu-H">
<li id="HOME">HOME</li>
<li id="ITEMS">ITEMS
<ul>
<li>New Item</li>
<li>Search Item</li>
</ul>
</li>
<li id="Category">CATALOG</li>
<li id="Inventory">INVENTORY</li>
</ul>
Also you forgot to add the # in the CSS for two id-s. Here's a fiddle I made where you can see I made some changes that I was talking about and it works:
http://jsfiddle.net/SJQ9B/