HTML Dropdown Menu Vertical Alignment and Show/Hide Issue - html

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>

Related

How to make sub sub menu work in my navigation?

Im having some problems with CSS, sub sub (third, fourth level) menus don't work and can't make it work I already tried everything I could think off. Anybody have the time to look at my code, please. I played with the code and tried all sorts of thing just nothing works.
I tried with
.navigation-1 ul li ul li ul li
but can't find the problem. I guess my css skills are not that good, lol :P
.navigation-1{
float: left;
width: auto;
margin-right: 0px;
}
.navigation-1 ul > li{
float: left;
width: auto;
position: relative;
}
.navigation-1 li:last-child{
margin-right: 0px;
}
.navigation-1 ul > li > a{
display: inline-block;
padding: 26px 30px;
font-size: 15px;
text-transform: capitalize;
/*font-family: 'Exo', sans-serif;*/
}
.navigation-1 > ul > li:after,
.navigation-1 > ul > li:before{
position: absolute;
content: "";
top:50%;
left: 0px;
bottom: 0px;
height: 10px;
width: 2px;
margin: 15px auto 0px;
right: 0px;
opacity: 0;
}
.navigation-1 > ul > li:before{
padding: 0px 5px;
border-left: 2px solid #2f3539;
border-right: 2px solid #2f3539;
opacity: 0;
}
.navigation-1 > ul > li:after{
border-right: 2px solid #2f3539;
height: 15px;
width: 2px;
opacity: 0;
}
.navigation-1 ul li ul{
position: absolute;
left: 0px;
right: 0px;
top:100%;
width: 195px;
background: #171e22;
visibility: hidden;
opacity: 0;
overflow: hidden;
z-index: 9999;
}
.navigation-1 ul li ul li{
float: left;
width: 100%;
}
.navigation-1 > ul > li.active:after,
.navigation-1 > ul > li.active:before,
.navigation-1 > ul > li:hover:after,
.navigation-1 > ul > li:hover:before{
opacity: 1;
}
nav.navigation-1 ul li:hover ul{
visibility: visible;
opacity: 1;
}
nav.navigation-1 ul li ul li a{
border-bottom: 1px solid #2f3539;
color: #fff;
display: inline-block;
padding:9px 15px;
position: relative;
width: 100%;
}
.navigation-1 ul li ul li:hover a{
background: #dc1937;
border-color: #dc1937;
color:#fff !important;
}
<nav class="navigation-1">
<ul>
<li class="active">home
<ul class="sub-menu children">
<li>Home Light</li>
</ul>
</li>
<li>artist
<ul class="sub-menu children">
<li>artist</li>
<li>artist 02</li>
<li>artist 03</li>
<li>dj</li>
</ul>
</li>
<li class="menu-item ">
event
<ul class="sub-menu children">
<li>
event list
</li>
<li>
event list 02
</li>
<li>
event list 03
</li>
<li>
event detail
</li>
</ul>
</li>
<li class="menu-item ">music
<ul class="sub-menu children">
<li>
dj
</li>
<li>
video
</li>
<li>
video list
</li>
<li>
video detail
</li>
<li>
mp3 list
</li>
<li>
music artist albums
</li>
<li>
music albums
</li>
<li>
masonry gallary
</li>
</ul>
</li>
<li class="menu-item ">blog
<ul class="sub-menu children">
<li>
blog detail
</li>
<li>
blog left sidebar
</li>
<li>
blog right sidebar
</li>
<li>
blog full
</li>
<li>
blog medium
</li>
<li>
blog small
</li>
<li>
masonry small
</li>
</ul>
</li>
<li class="menu-item ">
page
<ul class="sub-menu children">
<li>
shop
</li>
<li>
shop items
</li>
<li>
shop listing
</li>
<li>
headers
</li>
</ul>
</li>
<li>contact us</li>
</ul>
</nav>
Here is the original HTML code (without sub sub menus, as I already have my navigation managed through my CMS)
Thank you
R

DropDown menu with two parts by using css

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>

Multi Drop Down Vertical Menu

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.

Please help me to fix the error in this menu code

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>

CSS Mega Drop down Menu

Fiddle Link
I just want to make a mega drop down menu for my website . the above link is what I've done for now . what i just want is make all main titles inline . but it just stay like block . how can i make the header "Loans", ""Leasing (Automotive)" in one line and other lists under them ?
Demo
css
body {
font: 300 86% helvetica, arial, sans-serif;
color: #000;
background: #fff;
margin: 0;
padding: 0;
}
#wrapper {
width: 980px;
min-height: 600px;
margin: 0 auto;
}
nav {
display: block;
position: relative;
width: 980px;
height: 50px;
margin: 0 auto;
background: #8dc63f;
}
nav ul#menu {
display: block;
margin: 0;
padding: 0;
list-style: 0;
}
nav ul#menu li {
position: relative;
display: inline-block;
}
nav ul#menu li a {
display: block;
height: 50px;
font-size: 1em;
line-height: 50px;
color: #fff;
text-decoration: none;
padding: 0 15px;
}
nav ul#menu li a:hover, nav ul#menu li:hover > a {
background: #333;
}
nav ul#menu li:hover > #mega {
display: block;
}
#mega {
position: absolute;
top: 100%;
left: 0;
width: 920px;
height: auto;
padding: 20px 30px;
background: #333;
display: none;
}
ul#menu ul {
float: left;
width: 23%;
margin: 0 2% 15px 0;
padding: 0;
list-style: none;
}
ul#menu ul li {
display: block;
}
ul#menu ul li a {
float: left;
display: block;
width: 100%;
height: auto;
line-height: 1.3em;
color: #888;
text-decoration: none;
padding: 6px 0;
}
ul#menu ul li:first-child a {
font-size: 1.2em;
color: #8dc63f;
}
ul#menu ul li a:hover {
color: #fff;
background: none;
}
ul#menu ul li:first-child a:hover {
color: #fff;
}
/* clearfix */
nav ul:after {
content:".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
nav ul {
display: inline-block;
}
html[xmlns] nav ul {
display: block;
}
* html nav ul {
height: 1%;
}
#content {
padding: 30px 0;
}
html
<!-- begin wrapper -->
<div id="wrapper">
<!-- begin nav -->
<nav>
<ul id="menu">
<li>Products & Services
<div id="mega">
<ul>
<li>Loans
</li>
<li>Mortgage Loans
</li>
<li>SME Loans
</li>
<li>Revolving Loans
</li>
<li>Professional Loans
</li>
<li>Personal Loans
</li>
<li>Micro Loans
</li>
<li>Commercial Credit
</li>
</ul>
<ul>
<li>Leasing (Automotive)
</li>
<li>Three Wheeler Leasing
</li>
<li>Motorcyvle Leasing
</li>
<li>Motorcar Leasing
</li>
<li>Mini trucks Leasing
</li>
</ul>
<ul>
<li>Leasing (Automotive)
</li>
<li>Three Wheeler Leasing
</li>
<li>Motorcyvle Leasing
</li>
<li>Motorcar Leasing
</li>
<li>Mini trucks Leasing
</li>
</ul>
<ul>
<li>Leasing (Automotive)
</li>
<li>Three Wheeler Leasing
</li>
<li>Motorcyvle Leasing
</li>
<li>Motorcar Leasing
</li>
<li>Mini trucks Leasing
</li>
</ul>
<ul>
<li>Loans
</li>
<li>Mortgage Loans
</li>
<li>SME Loans
</li>
<li>Revolving Loans
</li>
<li>Professional Loans
</li>
<li>Personal Loans
</li>
<li>Micro Loans
</li>
<li>Commercial Credit
</li>
</ul>
<ul>
<li>Leasing (Automotive)
</li>
<li>Three Wheeler Leasing
</li>
<li>Motorcyvle Leasing
</li>
<li>Motorcar Leasing
</li>
<li>Mini trucks Leasing
</li>
</ul>
<ul>
<li>Leasing (Automotive)
</li>
<li>Three Wheeler Leasing
</li>
<li>Motorcyvle Leasing
</li>
<li>Motorcar Leasing
</li>
<li>Mini trucks Leasing
</li>
</ul>
</div>
</li>
<li>Locations
</li>
<li>Our Team
</li>
<li>Testimonials
</li>
<li>FAQ
</li>
<li>News & Events
</li>
<li>Contact
</li>
</ul>
</nav>
<!-- /nav -->
<div id="content">
<p>Page content...</p>
</div>
</div>
<!-- /wrapper -->
Put the 2nd tier ul's inside the li for the header. Then just add this to your stylesheet:
nav .dropdown-list > li {
float:left;
}
View fiddle: http://jsfiddle.net/7WXZL/1/
In html
<ul id="main_menu">
<li class="main_list">Electronics
<ul>
<p class="category_header">Buy Any Electronics Item And Get Flat 50% OFF</p>
<ol>
<li>Mobiles</li>
<li>Item1</li>
<li>Item2</li>
</ol>
</ul>
</li>
<li class="main_list">Food&Snacks
<ul>
<p class="category_header">Buy Any Food&Snacks Item And Get Upto 40% OFF</p>
<ol>
<li>Pulses</li>
<li>Item1</li>
<li>Item2</li>
</ol>
</ul>
</li>
write more if you want
in css
body
{
text-align:center;
font-family:helvetica;
background-color:#424242;
}
h1
{
margin:0px;
margin-top:40px;
color:#8181F7;
font-size:45px;
}
#main_menu
{
background-color:#1C1C1C;
float:left;
padding:0px;
width:700px;
height:50px;
line-height:50px;
margin-left:140px;
border-radius:5px;
}
#main_menu .main_list
{
color:white;
list-style-type:none;
float:left;
border-left:1px solid #666;
padding-left:27px;
padding-right:27px;
}
#main_menu .main_list:hover
{
color:#2E9AFE;
}
.main_list ul
{
background-color:white;
width:600px;
position:absolute;
left:150px;
width:700px;
padding:0px;
float:left;
padding-bottom:10px;
}
.main_list ul p
{
color:white;
background-color:#2E9AFE;
margin:0px;
text-align:left;
padding-left:10px;
font-size:20px;
font-weight:bold;
}
.main_list ul ol
{
float:left;
padding:0px;
list-style-type:none;
margin-left:30px;
}
.main_list ul ol li
{
line-height:25px;
font-weight:bold;
font-size:16px;
color:#2E9AFE;
}
.main_list ul ol li:first-of-type
{
list-style: none;
font-size:19px;
margin-top:10px;
color:#084B8A;
}
.main_list:hover ul
{
display:block;
}
.main_list ul
{
display:none;
}
this is the main code from http://talkerscode.com/webtricks/mega-dropdown-menu-like-ecommerce-using-css.php to create css mega drop down menu