So i made a menu with a drop down effect with the css3 transition, but my problem is that you can actually see the text before the background is showing, of course the idea is not to see the text before the background.
I have made a jsfiddle
Html:
<nav>
<ul>
<li>Home</li>
<li>Parrent Link
<ul>
<li>Child Link</li>
<li>Child Link</li>
<li>Parrent Link
<ul>
<li>Child Link</li>
<li>Child Link</li>
<li>Child Link</li>
<li>Child Link</li>
<li>Child Link</li>
</ul>
</li>
</ul>
</li>
<li>About</li>
<li>Contact</li>
</ul>
</nav>
CSS:
nav {
position: fixed;
top: 0;
width: 100%;
height: 50px;
background: #30a0ff;
z-index: 2;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
}
nav > ul {
position: relative;
margin: 0 auto;
padding: 0;
width: 100%;
list-style: none;
text-align: center;
}
nav > ul > li {
position: relative;
display: inline;
padding: 12px 20px;
line-height: 50px;
font-size: 22px;
color: #fff;
cursor: pointer;
}
nav > ul > li:last-child {
margin: 0 -20px 0 0;
}
nav ul li {
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
nav ul li:hover {
background-color: #0f71c4;
}
nav > ul > li > ul {
position: absolute;
top: 50px;
left: 0;
height: 0;
padding: 0;
list-style: none;
line-height: 20px;
font-size: 17px;
background-color: #30a0ff;
overflow: hidden;
}
nav > ul > li:hover > ul {
min-height: 110px;
overflow: visible;
}
nav > ul > li > ul > li:first-child {
padding: 15px 20px 5px 20px;
}
nav > ul > li > ul > li:last-child {
padding: 5px 20px 15px 20px;
}
nav > ul > li > ul > li {
position: relative;
padding: 5px 20px;
min-width: 150px;
text-align: left;
}
nav ul li ul {
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
nav > ul > li > ul > li > ul {
position: absolute;
left: 190px;
top: 0;
padding: 0;
width: 0;
list-style: none;
font-size: 16px;
background-color: #30a0ff;
overflow: hidden;
}
nav > ul > li > ul > li:hover > ul {
min-width: 150px;
}
nav > ul > li > ul > li > ul > li {
position: relative;
padding: 5px 20px;
min-width: 150px;
}
nav > ul > li > ul > li > ul > li:first-child {
padding: 15px 20px 5px 20px;
}
nav > ul > li > ul > li > ul > li:last-child {
padding: 5px 20px 15px 20px;
}
I just added the opacity to the existing css:
js fiddle:
http://jsfiddle.net/r9Dyq/2/
css:
nav > ul > li > ul {
position: absolute;
top: 50px;
left: 0;
height: 0;
padding: 0;
list-style: none;
line-height: 20px;
font-size: 17px;
background-color: #30a0ff;
overflow: hidden;
opacity:0; /*newly added */
}
nav > ul > li:hover > ul {
min-height: 110px;
overflow: visible;
opacity:1; /*newly added */
}
Just don't change the overflow property:
nav > ul > li:hover > ul {
min-height: 110px;
/*overflow: visible; Remove this*/
}
Check this http://jsfiddle.net/r9Dyq/1/
Related
The problem is this, I can not get to readjust the space in my list containing my menu with with her elements:
I want get the space to show the with white background and I would want the list occuped all space available.
I would to have this effect:
enter image description here
Html code:
<nav role="navigation" class="nav-menu w-nav-menu" id="primary_nav_wrap">
<ul>
<li>
Home
<ul>
<li>Chi siamo</li>
</ul>
</li>
<li>
Servizi
<ul>
<li>Servizi mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</li>
<li>
I vantaggi per voi
</li>
<li>
Galleria
<ul>
<li>Riparazione mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</li>
<li>
Contatti
</li>
</ul>
</nav>
The lists under link are the submenus.
Css code:
#primary_nav_wrap ul {
list-style: none;
position: relative;
float: left;
margin: 0;
padding: 0
}
#primary_nav_wrap ul a {
display: block;
text-decoration: none;
line-height: 32px;
padding: 0 15px;
}
#primary_nav_wrap ul li {
position: relative;
float: left;
margin: 0;
padding: 0
}
#primary_nav_wrap ul ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background: #fff;
padding: 0
}
#primary_nav_wrap ul ul li {
float: none;
width: 200px;
background: #fff;
}
#primary_nav_wrap ul ul a {
line-height: 120%;
padding: 10px 15px;
color: #000;
}
#primary_nav_wrap ul ul li:hover {
background: #ffed00;
}
#primary_nav_wrap ul ul a:hover {
color: #fff;
}
#primary_nav_wrap ul ul ul {
top: 0;
left: 100%
}
#primary_nav_wrap ul li:hover>ul {
display: block
}
This code is only for the tag nav in my page html.
Thanks for the help.
HTML:
Do not forget to copy the tags that in <head> to your html file.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- jQuery -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- MenuMaker Plugin -->
<script src="https://s3.amazonaws.com/menumaker/menumaker.min.js"></script>
<!-- Icon Library -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<title>Test</title>
</head>
<body>
<div id="cssmenu">
<ul>
<li><i class="fa fa-fw fa-home"></i> Home</li>
<li><i class="fa fa-fw fa-bars"></i> Menus
<ul>
<li>Menu 1
<ul>
<li>Menu 1.1</li>
<li>Menu 1.2</li>
<li>Menu 1.3</li>
</ul>
</li>
<li>Menu 2
<ul>
<li>Menu 2.1</li>
<li>Menu 2.2</li>
<li>Menu 2.3</li>
<li>Menu 2.4</li>
</ul>
</li>
</ul>
</li>
<li><i class="fa fa-fw fa-cog"></i> Settings</li>
<li><i class="fa fa-fw fa-phone"></i> Contact</li>
</ul>
</div>
</body>
</html>
CSS:
#import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button {
margin: 0;
padding: 0;
border: 0;
list-style: none;
line-height: 1;
display: block;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#cssmenu:after,
#cssmenu > ul:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
#cssmenu #menu-button {
display: none;
}
#cssmenu {
font-family: Montserrat, sans-serif;
background: #333333;
}
#cssmenu > ul > li {
float: left;
}
#cssmenu.align-center > ul {
font-size: 0;
text-align: center;
}
#cssmenu.align-center > ul > li {
display: inline-block;
float: none;
}
#cssmenu.align-center ul ul {
text-align: left;
}
#cssmenu.align-right > ul > li {
float: right;
}
#cssmenu > ul > li > a {
padding: 17px;
font-size: 12px;
letter-spacing: 1px;
text-decoration: none;
color: #dddddd;
font-weight: 700;
text-transform: uppercase;
}
#cssmenu > ul > li:hover > a {
color: #ffffff;
}
#cssmenu > ul > li.has-sub > a {
padding-right: 30px;
}
#cssmenu > ul > li.has-sub > a:after {
position: absolute;
top: 22px;
right: 11px;
width: 8px;
height: 2px;
display: block;
background: #dddddd;
content: '';
}
#cssmenu > ul > li.has-sub > a:before {
position: absolute;
top: 19px;
right: 14px;
display: block;
width: 2px;
height: 8px;
background: #dddddd;
content: '';
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
#cssmenu > ul > li.has-sub:hover > a:before {
top: 23px;
height: 0;
}
#cssmenu ul ul {
position: absolute;
left: -9999px;
}
#cssmenu.align-right ul ul {
text-align: right;
}
#cssmenu ul ul li {
height: 0;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
#cssmenu li:hover > ul {
left: auto;
}
#cssmenu.align-right li:hover > ul {
left: auto;
right: 0;
}
#cssmenu li:hover > ul > li {
height: 35px;
}
#cssmenu ul ul ul {
margin-left: 100%;
top: 0;
}
#cssmenu.align-right ul ul ul {
margin-left: 0;
margin-right: 100%;
}
#cssmenu ul ul li a {
border-bottom: 1px solid rgba(150, 150, 150, 0.15);
padding: 11px 15px;
width: 170px;
font-size: 12px;
text-decoration: none;
color: #dddddd;
font-weight: 400;
background: #333333;
}
#cssmenu ul ul li:last-child > a,
#cssmenu ul ul li.last-item > a {
border-bottom: 0;
}
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover {
color: #ffffff;
}
#cssmenu ul ul li.has-sub > a:after {
position: absolute;
top: 16px;
right: 11px;
width: 8px;
height: 2px;
display: block;
background: #dddddd;
content: '';
}
#cssmenu.align-right ul ul li.has-sub > a:after {
right: auto;
left: 11px;
}
#cssmenu ul ul li.has-sub > a:before {
position: absolute;
top: 13px;
right: 14px;
display: block;
width: 2px;
height: 8px;
background: #dddddd;
content: '';
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
#cssmenu.align-right ul ul li.has-sub > a:before {
right: auto;
left: 14px;
}
#cssmenu ul ul > li.has-sub:hover > a:before {
top: 17px;
height: 0;
}
#cssmenu.small-screen {
width: 100%;
}
#cssmenu.small-screen ul {
width: 100%;
display: none;
}
#cssmenu.small-screen.align-center > ul {
text-align: left;
}
#cssmenu.small-screen ul li {
width: 100%;
border-top: 1px solid rgba(120, 120, 120, 0.2);
}
#cssmenu.small-screen ul ul li,
#cssmenu.small-screen li:hover > ul > li {
height: auto;
}
#cssmenu.small-screen ul li a,
#cssmenu.small-screen ul ul li a {
width: 100%;
border-bottom: 0;
}
#cssmenu.small-screen > ul > li {
float: none;
}
#cssmenu.small-screen ul ul li a {
padding-left: 25px;
}
#cssmenu.small-screen ul ul ul li a {
padding-left: 35px;
}
#cssmenu.small-screen ul ul li a {
color: #dddddd;
background: none;
}
#cssmenu.small-screen ul ul li:hover > a,
#cssmenu.small-screen ul ul li.active > a {
color: #ffffff;
}
#cssmenu.small-screen ul ul,
#cssmenu.small-screen ul ul ul,
#cssmenu.small-screen.align-right ul ul {
position: relative;
left: 0;
width: 100%;
margin: 0;
text-align: left;
}
#cssmenu.small-screen > ul > li.has-sub > a:after,
#cssmenu.small-screen > ul > li.has-sub > a:before,
#cssmenu.small-screen ul ul > li.has-sub > a:after,
#cssmenu.small-screen ul ul > li.has-sub > a:before {
display: none;
}
#cssmenu.small-screen #menu-button {
display: block;
padding: 17px;
color: #dddddd;
cursor: pointer;
font-size: 12px;
text-transform: uppercase;
font-weight: 700;
}
#cssmenu.small-screen #menu-button:after {
position: absolute;
top: 22px;
right: 17px;
display: block;
height: 4px;
width: 20px;
border-top: 2px solid #dddddd;
border-bottom: 2px solid #dddddd;
content: '';
box-sizing: content-box;
}
#cssmenu.small-screen #menu-button:before {
position: absolute;
top: 16px;
right: 17px;
display: block;
height: 2px;
width: 20px;
background: #dddddd;
content: '';
box-sizing: content-box;
}
#cssmenu.small-screen #menu-button.menu-opened:after {
top: 23px;
border: 0;
height: 2px;
width: 15px;
background: #ffffff;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
#cssmenu.small-screen #menu-button.menu-opened:before {
top: 23px;
background: #ffffff;
width: 15px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
#cssmenu.small-screen .submenu-button {
position: absolute;
z-index: 99;
right: 0;
top: 0;
display: block;
border-left: 1px solid rgba(120, 120, 120, 0.2);
height: 46px;
width: 46px;
cursor: pointer;
}
#cssmenu.small-screen .submenu-button.submenu-opened {
background: #262626;
}
#cssmenu.small-screen ul ul .submenu-button {
height: 34px;
width: 34px;
}
#cssmenu.small-screen .submenu-button:after {
position: absolute;
top: 22px;
right: 19px;
width: 8px;
height: 2px;
display: block;
background: #dddddd;
content: '';
}
#cssmenu.small-screen ul ul .submenu-button:after {
top: 15px;
right: 13px;
}
#cssmenu.small-screen .submenu-button.submenu-opened:after {
background: #ffffff;
}
#cssmenu.small-screen .submenu-button:before {
position: absolute;
top: 19px;
right: 22px;
display: block;
width: 2px;
height: 8px;
background: #dddddd;
content: '';
}
#cssmenu.small-screen ul ul .submenu-button:before {
top: 12px;
right: 16px;
}
#cssmenu.small-screen .submenu-button.submenu-opened:before {
display: none;
}
#cssmenu.small-screen.select-list {
padding: 5px;
}
JavaScript:
$("#cssmenu").menumaker({
title: "Menu",
breakpoint: 768,
format: "multitoggle"
});
The results on Desktop:
The result on smartphone:
Assuming I understood your questions correctly, I made an example using flexbox. I also added some classes, to make the css readable.
#primary_nav_wrap ul {
display: flex;
list-style: none;
position: relative;
margin: 0;
padding: 0;
justify-content: space-between;
}
#primary_nav_wrap .nav-link {
padding: 0 20px 0 0;
}
#primary_nav_wrap ul li a {
display: block;
}
#primary_nav_wrap a {
color: black;
text-decoration: none;
}
#primary_nav_wrap .secondary-list {
opacity: 0;
pointer-events: none;
display: flex;
flex-direction: column;
background: #ffed00;
}
#primary_nav_wrap .secondary-list li a {
padding: 5px;
}
#primary_nav_wrap .secondary-list li:hover {
background: blue;
}
#primary_nav_wrap .secondary-list li:hover a {
color: white;
}
#primary_nav_wrap .primary-list > li:hover .secondary-list {
opacity: 1;
cursor: pointer;
pointer-events: auto;
}
.nav-drop-true::after{
content: " \25bc";
}
<nav role="navigation" class="nav-menu w-nav-menu" id="primary_nav_wrap">
<ul class="primary-list">
<li>
Home
<ul class="secondary-list">
<li>Chi siamo</li>
</ul>
</li>
<li>
Servizi
<ul class="secondary-list">
<li>Servizi mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</li>
<li>
I vantaggi per voi
</li>
<li>
Galleria
<ul class="secondary-list">
<li>Riparazione mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</li>
<li>
Contatti
</li>
</ul>
</nav>
try this and set own style
nav{
display:block;
}
a{
color:#fff;
text-decoration: none;
}
ul{
padding:0;
list-style: none;
}
#primary_nav_wrap>ul {
list-style: none;
position: relative;
display:block;
margin: 0;
background-color:teal;
}
#primary_nav_wrap>ul>li {
display: inline-block;
position: relative;
padding: 10px 0;
}
#primary_nav_wrap>ul>li>a {
display: block;
text-decoration: none;
padding: 0 15px;
}
#primary_nav_wrap>ul>li>div {
display: none;
position:absolute;
top:100%;
left:0;
background-color:#999;
padding:10px;
}
#primary_nav_wrap>ul>li>div>ul>li {
display:block;
}
#primary_nav_wrap>ul>li>div>ul>li a {
display:block;
white-space: nowrap;
padding:5px 2px;
}
#primary_nav_wrap>ul>li:hover>div {
display: block
}
.nav-drop-true::after{
content: " \25bc";
}
/*
#primary_nav_wrap ul li {
position: relative;
display:inline-block;
margin: 0;
padding: 0
}
#primary_nav_wrap>ul ul {
display:inline-block;
position: absolute;
top: 100%;
left: 0;
background-color:#fff;
padding: 0
}
#primary_nav_wrap ul ul li {
background: teal;
}
#primary_nav_wrap ul ul a {
line-height: 120%;
padding: 10px 15px;
color: #000;
}
#primary_nav_wrap ul ul li:hover {
background: #ffed00;
}
#primary_nav_wrap ul ul a:hover {
color: #fff;
}
#primary_nav_wrap ul ul ul {
top: 0;
left: 100%;
}
*/
<nav role="navigation" class="nav-menu w-nav-menu" id="primary_nav_wrap">
<ul>
<li>
Home
<div>
<ul>
<li>Chi siamo</li>
</ul>
</div>
</li>
<li>
Servizi
<div>
<ul>
<li>Servizi mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</div>
</li>
<li>
I vantaggi per voi
</li>
<li>
Galleria
<div>
<ul>
<li>Riparazione mobile</li>
<li>Oscuramento vetri</li>
<li>Wrapping</li>
</ul>
</div>
</li>
<li>
Contatti
</li>
</ul>
</nav>
Another style:
$('#cssmenu li.active').addClass('open').children('ul').show();
$('#cssmenu li.has-sub>a').on('click', function(){
$(this).removeAttr('href');
var element = $(this).parent('li');
if (element.hasClass('open')) {
element.removeClass('open');
element.find('li').removeClass('open');
element.find('ul').slideUp();
} else {
element.addClass('open');
element.children('ul').slideDown();
element.siblings('li').children('ul').slideUp();
element.siblings('li').removeClass('open');
element.siblings('li').find('li').removeClass('open');
element.siblings('li').find('ul').slideUp();
}
});
#import url('https://fonts.googleapis.com/css?family=Roboto:300,400');
#cssmenu {
margin: 0;
position: relative;
font-family: 'Roboto';
line-height: 1;
width: 250px;
}
.align-right {
float: right;
}
#cssmenu ul {
margin: 0;
padding: 0;
list-style: none;
display: block;
}
#cssmenu ul li {
position: relative;
margin: 0;
padding: 0;
}
#cssmenu ul li a {
text-decoration: none;
cursor: pointer;
}
#cssmenu > ul > li > a {
color: #ddd;
text-transform: uppercase;
display: block;
padding: 20px;
border-top: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
background: #222;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
letter-spacing: 1px;
font-size: 16px;
font-weight: 300;
-webkit-transition: all 0.25s ease-in;
-moz-transition: all 0.25s ease-in;
-ms-transition: all 0.25s ease-in;
-o-transition: all 0.25s ease-in;
transition: all 0.25s ease-in;
position: relative;
}
#cssmenu > ul > li:first-child > a {
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
#cssmenu > ul > li:last-child > a {
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
border-bottom: 1px solid #000;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.open > a,
#cssmenu > ul > li.active > a {
background: #151515;
color: #fff;
}
#cssmenu ul > li.has-sub > a::after {
content: "";
position: absolute;
display: block;
width: 0;
height: 0;
border-top: 13px solid #000;
border-botom: 13px solid transparent;
border-left: 125px solid transparent;
border-right: 125px solid transparent;
left: 0;
bottom: -13px;
bottom: 0px;
z-index: 1;
opacity: 0;
-webkit-transition: all .2s ease;
-moz-transition: all .2s ease;
-ms-transition: all .2s ease;
-o-transition: all .2s ease;
transition: all .2s ease;
}
#cssmenu ul > li.has-sub > a::before {
content: "";
position: absolute;
display: block;
width: 0;
height: 0;
border-top: 13px solid #151515;
border-botom: 13px solid transparent;
border-left: 125px solid transparent;
border-right: 125px solid transparent;
left: 0;
bottom: -12px;
bottom: -1px;
z-index: 3;
opacity: 0;
-webkit-transition: all .2s ease;
-moz-transition: all .2s ease;
-ms-transition: all .2s ease;
-o-transition: all .2s ease;
transition: all .2s ease;
}
#cssmenu ul > li.has-sub::after {
content: "";
display: block;
position: absolute;
width: 0;
height: 0;
border: 7px solid transparent;
border-top-color: #ddd;
z-index: 2;
right: 20px;
top: 24.5px;
pointer-events: none;
}
#cssmenu ul > li:hover::after,
#cssmenu ul > li.active::after,
#cssmenu ul > li.open::after {
border-top-color: #fff;
}
#cssmenu ul > li.has-sub.open > a::after {
opacity: 1;
bottom: -13px;
}
#cssmenu ul > li.has-sub.open > a::before {
opacity: 1;
bottom: -12px;
}
#cssmenu ul ul {
display: none;
}
#cssmenu > ul > li.active > ul {
display: block;
}
#cssmenu ul ul li {
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
#cssmenu ul ul li a {
background: #f1f1f1;
display: block;
position: relative;
font-size: 15px;
padding: 14px 20px;
border-bottom: 1px solid #ddd;
color: #777;
font-weight: 300;
-webkit-transition: all 0.25s ease-in;
-moz-transition: all 0.25s ease-in;
-ms-transition: all 0.25s ease-in;
-o-transition: all 0.25s ease-in;
transition: all 0.25s ease-in;
}
#cssmenu ul ul li:first-child > a {
padding-top: 18px;
}
#cssmenu ul ul ul li {
border: 0;
}
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li.open > a,
#cssmenu ul ul li.active > a {
background: #e4e4e4;
color: #666;
}
#cssmenu ul ul > li.has-sub > a::after {
border-top: 13px solid #ddd;
}
#cssmenu ul ul > li.has-sub > a::before {
border-top: 13px solid #e4e4e4;
}
#cssmenu ul ul ul li a {
padding-left: 30px;
}
#cssmenu ul ul > li.has-sub::after {
top: 18.5px;
border-width: 6px;
border-top-color: #777;
}
#cssmenu ul ul > li:hover::after,
#cssmenu ul ul > li.active::after,
#cssmenu ul ul > li.open::after {
border-top-color: #666;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- jQuery -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- Icon Library -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<title>Test</title>
</head>
<body>
<div id="cssmenu">
<ul>
<li class="active"><i class="fa fa-fw fa-home"></i> Home</li>
<li class="has-sub"><i class="fa fa-fw fa-bars"></i> Menus
<ul>
<li class="has-sub">Menu 1
<ul>
<li>Menu 1.1</li>
<li>Menu 1.2</li>
<li>Menu 1.3</li>
</ul>
</li>
<li class="has-sub">Menu 2
<ul>
<li>Menu 2.1</li>
<li>Menu 2.2</li>
<li>Menu 2.3</li>
<li>Menu 2.4</li>
</ul>
</li>
</ul>
</li>
<li><i class="fa fa-fw fa-cog"></i> Settings</li>
<li><i class="fa fa-fw fa-phone"></i> Contact</li>
</ul>
</div>
</body>
</html>
This is Structure HTML :
<div id="menu" class="col-md-12 menu-inner menu-nav">
<ul class="nav-effect">
//looping for HEAD-MENU => Computer
<li>
<a>COMPUTER</a>
<div class="sub-menu">
<ul>
// looping sub-menu computer => dekstop
<div class="sub-child">
<li>DEKSTOP</a></li>
//looping FOR SUB-MENU DEKSTOP
<li><a>DEKSTOP ASUS</a></li>
<li><a>DEKSTOP DELL</a></li>
//
</div>
//
</ul>
</div>
</li>
//
</ul>
</div>
CSS:
#menu {
position: relative;
}
#menu ul {
list-style: none;
margin: 0;
padding: 0;
}
#menu > ul > li {
float: left;
z-index: 20;
}
#menu > ul > li:hover {}
#menu > ul > li > a {
text-decoration: none;
display: block;
z-index: 6;
}
#menu > ul > li > div {
display: none;
background: #26348b;
position: absolute;
z-index: 5;
padding: 0 10px;
margin-top: 3px;
left: 0;
border-top: 1px solid #fff;
width: 100%; //REMOVE THIS <<==
}
#menu > ul > li:hover > div {
display: table;
}
#menu > ul > li > div > ul {
display: table-cell;
}
#menu > ul > li > div > ul > div > li a {
display: block;
white-space: nowrap;
min-width: 110px;
}
.sub-menu > ul > .sub-child {
width: 25%;
float: left;
display: block;
}
#menu > ul > li > .sub-menu > ul > .sub-child > li:first-child a {
font-size: 1.2em;
color: #8dc63f;
}
.menu-inner {
background: #26348b;
margin: 20px 0 15px;
padding: 0!important;
height: 33px;
}
.menu-nav ul {
list-style: none;
margin: 0;
padding: 0;
}
.menu-nav ul li {
border-right: 1px solid #fff;
padding: 7px 59px 3px;
}
.menu-nav ul li li {
padding: 5px 0 0;
border-right: none;
margin: 5px 0 2px 15px;
}
.menu-nav ul li:last-child {
border-right: none
}
.menu-nav ul li a {
color: #fff;
position:relative;
}
.menu-nav ul li a:hover {
text-decoration: none;
}
.nav-effect li a {
padding: 0 0 5px;
}
.nav-effect li > a::after {
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 1px;
background: #f6a328;
content: '';
opacity: 0;
-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
transition: height 0.3s, opacity 0.3s, transform 0.3s;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
.nav-effect li > a:hover::after,
.nav-effect li > a:focus::after {
height: 3px;
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px);
}
ul.nav-effect li ul li a {
font-weight: normal;
}
ul.nav-effect li div ul div li a {
font-weight: normal;
}
I already set css and everything is fine except last menu (Accessories and Peripheral)?
For more details, Please check Here
Idkw only the last menu have problem, maybe because too much content? or text to long?
Where I did mistake?
Thanks Advance
I have an issue related to dropdown menu that remains behind Lean Slider. Please help me how to fix this issue. I am pasting html and css code here that you see where there is a problem.
I have tried to change z-index, but nothing changed.
HTML:
<pre><div id='cssmenu'>
<ul>
<li class='has-sub'><a href='#'>About us</a>
<ul>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
</ul>
</li>
<li class='has-sub'><a href='#'>Programs</a>
<ul>
<li>Submenu</li>
<li class='has-sub'><a href='#'>Submenu</a>
<ul>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
<li>Submenu</li>
</ul>
</li>
<li>Submenu</li>
</ul>
</li>
<li>News</li>
<li>Network</li>
<li>Press</li>
<li class='last'>Contact us</li>
</ul>
</div><code>
I am also pasting CSS code here.
<pre>#cssmenu {
position: relative;
height: auto;
background: #2b2f3a;
width: auto;
}
#cssmenu ul {
list-style: none;
padding: 0;
margin: 0;
line-height: 1;
}
#cssmenu > ul {
position: relative;
display: block;
background: #fff;
width: 100%;
z-index: 500;
}
#cssmenu:after,
#cssmenu > ul:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
#cssmenu.align-right > ul > li {
float: right;
}
#cssmenu.align-center ul {
text-align: center;
}
#cssmenu.align-center ul ul {
text-align: left;
}
#cssmenu > ul > li {
display: inline-block;
position: relative;
margin: 0;
padding: 0;
}
#cssmenu > ul > #menu-button {
display: none;
}
#cssmenu ul li a {
display: block;
font-family: Helvetica, sans-serif;
text-decoration: none;
}
#cssmenu > ul > li > a {
font-size: 12px;
font-weight: bold;
padding: 17px 12px;
color: #559c00;
text-transform: uppercase;
-webkit-transition: color 0.25s ease-out;
-moz-transition: color 0.25s ease-out;
-ms-transition: color 0.25s ease-out;
-o-transition: color 0.25s ease-out;
transition: color 0.25s ease-out;
}
#cssmenu > ul > li.has-sub > a {
padding-right: 32px;
}
#cssmenu > ul > li:hover > a {
color: #72cc00;
}
#cssmenu li.has-sub::after {
display: block;
content: "";
position: absolute;
width: 0;
height: 0;
}
#cssmenu > ul > li.has-sub::after {
right: 15px;
top: 20px;
border: 5px solid transparent;
border-top-color: #559c00;
}
#cssmenu > ul > li:hover::after {
border-top-color: #ffffff;
}
#indicatorContainer {
position: absolute;
height: 12px;
width: 100%;
bottom: 0px;
overflow: hidden;
z-index: -1;
}
#pIndicator {
position: absolute;
height: 0;
width: 100%;
border: 12px solid transparent;
border-top-color: #2b2f3a;
z-index: -2;
-webkit-transition: left .25s ease;
-moz-transition: left .25s ease;
-ms-transition: left .25s ease;
-o-transition: left .25s ease;
transition: left .25s ease;
}
#cIndicator {
position: absolute;
height: 0;
width: 100%;
border: 12px solid transparent;
border-top-color: #2b2f3a;
top: -12px;
right: 100%;
z-index: -2;
}
#cssmenu ul ul {
position: absolute;
left: -9999px;
top: 70px;
opacity: 0;
-webkit-transition: opacity .3s ease, top .25s ease;
-moz-transition: opacity .3s ease, top .25s ease;
-ms-transition: opacity .3s ease, top .25s ease;
-o-transition: opacity .3s ease, top .25s ease;
transition: opacity .3s ease, top .25s ease;
z-index: 1000;
}
#cssmenu ul ul ul {
top: 37px;
padding-left: 5px;
}
#cssmenu ul ul li {
position: relative;
}
#cssmenu > ul > li:hover > ul {
left: auto;
top: 44px;
opacity: 1;
}
#cssmenu.align-right > ul > li:hover > ul {
left: auto;
right: 0;
opacity: 1;
}
#cssmenu ul ul li:hover > ul {
left: 210px;
top: 0;
opacity: 1;
}
#cssmenu.align-right ul ul li:hover > ul {
left: auto;
right: 170px;
top: 0;
opacity: 1;
padding-right: 5px;
}
#cssmenu ul ul li a {
width: 170px;
margin-right: 3px;
border-bottom: 1px solid #eeeeee;
padding: 10px 20px;
font-size: 12px;
color: #559c00;
font-weight:bold;
background: #fff;
-webkit-transition: all .35s ease;
-moz-transition: all .35s ease;
-ms-transition: all .35s ease;
-o-transition: all .35s ease;
transition: all .35s ease;
box-shadow: 3px 3px 8px #818181; /*shadow for CSS3 capable browsers.*/
-webkit-box-shadow: 1px 1px 5px #818181;
-moz-box-shadow: 3px 3px 8px #818181;
}
#cssmenu.align-right ul ul li a {
text-align: right;
}
#cssmenu ul ul li:hover > a {
background: #fff;
color: #72cc00;
}
#cssmenu ul ul li:last-child > a,
#cssmenu ul ul li.last > a {
}
#cssmenu > ul > li > ul::after {
content: '';
border: 6px solid transparent;
width: 0;
height: 0;
border-bottom-color: #559c00;
position: absolute;
top: -12px;
left: 30px;
}
#cssmenu.align-right > ul > li > ul::after {
left: auto;
right: 30px;
}
#cssmenu ul ul li.has-sub::after {
border: 5px solid transparent;
border-left-color: #9ea2a5;
right: 10px;
top: 12px;
-moz-transition: all .2s ease;
-ms-transition: all .2s ease;
-o-transition: all .2s ease;
transition: all .2s ease;
-webkit-transition: -webkit-transform 0.2s ease, right 0.2s ease;
}
#cssmenu.align-right ul ul li.has-sub::after {
border-left-color: transparent;
border-right-color: #9ea2a5;
right: auto;
left: 10px;
}
#cssmenu ul ul li.has-sub:hover::after {
border-left-color: #ffffff;
right: -5px;
-webkit-transform: rotateY(180deg);
-ms-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
transform: rotateY(180deg);
}
#cssmenu.align-right ul ul li.has-sub:hover::after {
border-right-color: #ffffff;
border-left-color: transparent;
left: -5px;
-webkit-transform: rotateY(180deg);
-ms-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
transform: rotateY(180deg);
}
#media all and (max-width: 800px), only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (-o-min-device-pixel-ratio: 2/1) and (max-width: 1024px), only screen and (min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min-resolution: 192dpi) and (max-width: 1024px), only screen and (min-resolution: 2dppx) and (max-width: 1024px) {
#cssmenu {
width: auto;
}
#cssmenu.align-center ul {
text-align: left;
}
#cssmenu.align-right > ul > li {
float: none;
}
#cssmenu ul {
width: auto;
}
#cssmenu .submenuArrow,
#cssmenu #indicatorContainer {
display: none;
}
#cssmenu > ul {
height: auto;
display: block;
}
#cssmenu > ul > li {
float: none;
}
#cssmenu li,
#cssmenu > ul > li {
display: none;
}
#cssmenu ul ul,
#cssmenu ul ul ul,
#cssmenu ul > li:hover > ul,
#cssmenu ul ul > li:hover > ul,
#cssmenu.align-right ul ul,
#cssmenu.align-right ul ul ul,
#cssmenu.align-right ul > li:hover > ul,
#cssmenu.align-right ul ul > li:hover > ul {
position: relative;
left: auto;
top: auto;
opacity: 1;
padding-left: 0;
padding-right: 0;
right: auto;
}
#cssmenu ul .has-sub::after {
display: none;
}
#cssmenu ul li a {
padding: 12px 20px;
}
#cssmenu ul ul li a {
border: 0;
background: none;
width: auto;
padding: 8px 35px;
}
#cssmenu.align-right ul ul li a {
text-align: left;
}
#cssmenu ul ul li:hover > a {
background: none;
color: #8c9195;
}
#cssmenu ul ul ul a {
padding: 8px 50px;
}
#cssmenu ul ul ul ul a {
padding: 8px 65px;
}
#cssmenu ul ul ul ul ul a {
padding: 8px 80px;
}
#cssmenu ul ul ul ul ul ul a {
padding: 8px 95px;
}
#cssmenu > ul > #menu-button {
display: block;
cursor: pointer;
}
#cssmenu #menu-button > a {
padding: 14px 20px;
}
#cssmenu ul.open li,
#cssmenu > ul.open > li {
display: block;
}
#cssmenu > ul.open > li#menu-button > a {
color: #fff;
border-bottom: 1px solid rgba(150, 150, 150, 0.1);
}
#cssmenu ul ul::after {
display: none;
}
#cssmenu #menu-button::after {
display: block;
content: '';
position: absolute;
height: 3px;
width: 22px;
border-top: 2px solid #559c00;
border-bottom: 2px solid #559c00;
right: 20px;
top: 15px;
}
#cssmenu #menu-button::before {
display: block;
content: '';
position: absolute;
height: 3px;
width: 22px;
border-top: 2px solid #559c00;
right: 20px;
top: 25px;
}
#cssmenu ul.open #menu-button::after,
#cssmenu ul.open #menu-button::before {
border-color: #fff;
}
}
<code>
I'll be happy if you help me how to fix this issue. Thanks in advance.
You have apply overflow:hidden for the wrapper class. For that reason it is hiding the submenus. Add the following style in your CSS, hopefully it will fix the issue.
header > div.wrapper:first-child
{
overflow:visible !important;
}
NOTE: You can try without !important keyword, if it is not working then apply it like above. Because i am not sure about the order of your CSS written.
I am currently trying to build my first website, and mainly using HTML5/CSS3, I have come across as issue that I'm sure is simply solved but struggling.
My homepage is working as desired apart from the Nav Bar, when i shrink the window down, all elements such as the hgroup, footer, and main sections become scrollable.
My Nav bar however disappears when I either:
a. Zoom in too much
b. make the window small enough.
Is this easily solved?
Many Thanks
Heres my HTML(please be forgiving, i'm a real newbie):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>Worthworks Signage</title>
</head>
<body>
<div id="container"> <!--WRAP ENTIRE DOCUMENT-->
<header>
<a href="index.html">
<img class="logo" src="images/logos/300pxbluegradient.jpg" alt="Worth Works Signage">
</a>
<hgroup>
<h1><span class="blueText">Worth</span>works Signage</h1>
<h2>Sign Design – <span class="blueText">Manufacture </span>– Installation – <span class="blueText">Refurbishment </span>– Advice</h2>
</hgroup>
<nav> <!--START OF NAVIGATION-->
<div id='cssmenu'>
<ul>
<li class='active'><a href='index.html'><span>Home</span></a></li>
<li class='has-sub'><a href='products.html'><span>Products</span></a> <!--PRODUCTS-->
<ul>
<li class='has-sub'><a href='#'><span>Signs</span></a> <!--PRODUCT SUB #1-->
<ul>
<li><a href='#'><span>Castings</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
<li class='has-sub'><a href='#'><span>Casting</span></a> <!--PRODUCT SUB #2-->
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
<li class='has-sub'><a href='#'><span>Site Work</span></a> <!--PRODUCT SUB #3-->
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
</ul>
</li>
<li><a href='gallery.html'><span>Gallery</span></a></li> <!--GALLERY-->
<li><a href='testimonials.html'><span>Testimonials</span></a></li> <!--TESTIMONIALS-->
<li><a href='contact.html'><span>Contact</span></a></li> <!--CONTACT US-->
<li class='last'><a href='about.html'><span>About Us</span></a></li> <!--ABOUT US-->
</ul>
</div>
</nav>
</header>
<!--END OF HEADER-->
<!--END OF NAVIGATION-->
<!-- START OF SECTION-->
<div id="section-wrap">
<div id="mainimage">Main Image Goes Here</div>
<div style="clear:both"></div>
<div id="brochure">Order your <u>FREE</u> Brochure today</div>
<div id="testimonals">SEE what our satisfied customers think..</div>
</div>
<!-- END OF SECTION-->
<div style="clear:both"></div>
<!-- START OF FOOTER-->
<footer>
<div id="wrap">
<div class="left footercol">
<h3 class="foothead">Connect</h3>
<div class="footcontent">
<ul>
<li class="facebook">Facebook</li>
<li class="twitter">Twitter</li>
</ul>
</div> <!--End of Column Content Div-->
</div> <!--End of Footer Column-->
And here is my CSS3:
*{
margin: 0 auto;
text-align:left;
}
body{
margin:0 0 300px;
width: 100%;
height:1200px;
padding:0;
font-size:13px;
font-family:helvetica neue,helvetica,arial, sans-serif;
color:#000000;
background-color: #cccccc;
}
#container{
min-height:100%;
border:1px solid black;
position:relative;
}
/* HEADER STYLING*/
header{
height:410px;
padding:0;
width:1580px;
background-color:#ffffff;
clear:both;
}
.logo{
display:inline;
margin:20px;
width:20%;
float:left;
padding:10px;
}
hgroup{
font-family:Baker Signet, Gills Sans Light;
padding-bottom:20px;
}
h1{
display:inline-block;
font-size:100px;
padding: 160px 0px 25px 10px;
color:#A1A1A1;
float:left;
}
h2{
clear:both;
display:inline-block;
font-size:28px;
padding-left:15px;
color:#A1A1A1;
float:center;
}
.blueText{
color:#4cb6ea;
font:
}
/*NAV BAR*/
nav{
width:1580px;
height:46px;
position:relative;
}
#cssmenu {
background-color: #4cb6ea;
margin: 0;
width: 1580px;
padding: 0;
line-height: 1;
border-top: 3px solid #4cb6ea;
display:inline-block;
position: relative;
font-family: Hallo Sans, sans-serif;
}
#cssmenu ul {
list-style: none;
margin: 0;
padding: 0;
display: block;
width:1540px;
}
#cssmenu ul:after {
content: ' ';
display: block;
font-size: 0;
height: 0;
clear: both;
visibility: hidden;
}
#cssmenu ul li {
margin: 0;
padding: 0;
display: block;
position: relative;
width:12%;
}
#cssmenu ul li a {
text-decoration: none;
display: block;
margin: 0;
-webkit-transition: color .2s ease;
-moz-transition: color .2s ease;
-ms-transition: color .2s ease;
-o-transition: color .2s ease;
transition: color .2s ease;
}
#cssmenu ul li ul {
position: absolute;
left: -9999px;
top: auto;
}
#cssmenu ul li ul li {
max-height: 0;
position: absolute;
-webkit-transition: max-height 0.4s ease-out;
-moz-transition: max-height 0.4s ease-out;
-ms-transition: max-height 0.4s ease-out;
-o-transition: max-height 0.4s ease-out;
transition: max-height 0.4s ease-out;
background: #ffffff;
}
#cssmenu ul li ul li.has-sub:after {
display: block;
position: absolute;
content: '';
height: 10px;
width: 10px;
border-radius: 5px;
background: #000000;
z-index: 1;
top: 13px;
right: 15px;
}
#cssmenu ul li ul li.has-sub:before {
display: block;
position: absolute;
content: '';
height: 0;
width: 0;
border: 3px solid transparent;
border-left-color: #ffffff;
z-index: 2;
top: 15px;
right: 15px;
}
#cssmenu ul li ul li a {
font-size: 18px;
font-weight: 400;
text-transform: none;
color: #000000;
letter-spacing: 0;
display: block;
width: 140px;
padding: 11px 10px 11px 20px;
}
#cssmenu ul li ul li:hover > a,
#cssmenu ul li ul li.active > a {
color: #4cb6ea;
}
#cssmenu ul li ul li:hover:after,
#cssmenu ul li ul li.active:after {
background: #4cb6ea;
}
#cssmenu ul li ul li:hover > ul {
left: 170px;
top: 0;
}
#cssmenu ul li ul li:hover > ul > li {
max-height: 72px;
position: relative;
}
#cssmenu > ul > li {
float: left;
}
#cssmenu > ul > li:after {
content: '';
display: block;
position: absolute;
width: 100%;
height: 0;
top: 0;
z-index: 0;
background: #ffffff;
-webkit-transition: height .2s;
-moz-transition: height .2s;
-ms-transition: height .2s;
-o-transition: height .2s;
transition: height .2s;
}
#cssmenu > ul > li.has-sub > a {
padding-right: 40px;
}
#cssmenu > ul > li.has-sub > a:after {
display: block;
content: '';
background: #ffffff;
height: 12px;
width: 12px;
position: absolute;
border-radius: 13px;
right: 14px;
top: 16px;
}
#cssmenu > ul > li.has-sub > a:before {
display: block;
content: '';
border: 4px solid transparent;
border-top-color: #4cb6ea;
z-index: 2;
height: 0;
width: 0;
position: absolute;
right: 16px;
top: 21px;
}
#cssmenu > ul > li > a {
color: #ffffff;
padding: 15px 20px;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
font-size: 14px;
z-index: 2;
position: relative;
}
#cssmenu > ul > li:hover:after,
#cssmenu > ul > li.active:after {
height: 100%;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.active > a {
color: #000000;
}
#cssmenu > ul > li:hover > a:after,
#cssmenu > ul > li.active > a:after {
background: #000000;
}
#cssmenu > ul > li:hover > a:before,
#cssmenu > ul > li.active > a:before {
border-top-color: #ffffff;
}
#cssmenu > ul > li:hover > ul {
left: 0;
}
#cssmenu > ul > li:hover > ul > li {
max-height: 72px;
position: relative;
}
#cssmenu #menu-button {
display: none;
}
#media all and (max-width: 768px), only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (-o-min-device-pixel-ratio: 2/1) and (max-width: 1024px), only screen and (min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min-resolution: 192dpi) and (max-width: 1024px), only screen and (min-resolution: 2dppx) and (max-width: 1024px) {
#cssmenu > ul {
max-height: 0;
overflow: hidden;
-webkit-transition: max-height 0.35s ease-out;
-moz-transition: max-height 0.35s ease-out;
-ms-transition: max-height 0.35s ease-out;
-o-transition: max-height 0.35s ease-out;
transition: max-height 0.35s ease-out;
}
#cssmenu > ul.open {
max-height: 1000px;
border-top: 1px solid rgba(110, 110, 110, 0.25);
}
#cssmenu ul {
width: 100%;
}
#cssmenu ul > li {
float: none;
}
#cssmenu ul li a {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding: 12px 20px;
}
#cssmenu ul > li:after {
display: none;
}
#cssmenu ul li.has-sub > a:after,
#cssmenu ul li.has-sub > a:before,
#cssmenu ul li ul li.has-sub:after,
#cssmenu ul li ul li.has-sub:before {
display: none;
}
#cssmenu ul li ul,
#cssmenu ul li ul li ul,
#cssmenu ul li ul li:hover > ul {
left: 0;
position: relative;
}
#cssmenu ul li ul li,
#cssmenu ul li:hover > ul > li {
max-height: 999px;
position: relative;
background: none;
}
#cssmenu ul li ul li a {
padding: 8px 20px 8px 35px;
color: #ffffff;
width: auto;
}
#cssmenu ul li ul ul li a {
padding: 8px 20px 8px 50px;
}
#cssmenu ul li ul li:hover > a {
color: #000000;
}
#cssmenu #menu-button {
display: block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding: 15px 20px;
text-transform: uppercase;
font-weight: 700;
font-size: 14px;
letter-spacing: 1px;
color: #ffffff;
cursor: pointer;
}
#cssmenu #menu-button:after {
display: block;
content: '';
position: absolute;
height: 3px;
width: 22px;
border-top: 2px solid #ffffff;
border-bottom: 2px solid #ffffff;
right: 20px;
top: 16px;
}
#cssmenu #menu-button:before {
display: block;
content: '';
position: absolute;
height: 3px;
width: 22px;
border-top: 2px solid #ffffff;
right: 20px;
top: 26px;
}
}
/*MAIN CONTENT STYLING*/
#section-wrap {
width:1580px;
height:1200px;
}
#mainimage {
background:#fff;
width:1580px;
height:1000px;
color:#A1A1A1;
}
#brochure {
float:left;
background:#fff;
width:787px;
height:342px;
color:#A1A1A1;
border-top: 4px solid #4cb6ea;
border-right: 3px solid #4cb6ea;
border-bottom: 1px solid #4cb6ea;
}
#testimonals {
float:right;
background:#fff;
width:787px;
height:342px;
color:#A1A1A1;
border-top: 4px solid #4cb6ea;
border-left: 3px solid #4cb6ea;
border-bottom: 1px solid #4cb6ea;
}
What i have done till now
In your #media query, you have the following CSS declaration:
#cssmenu > ul {max-height: 0}
This is the line that's hiding your navigation, your giving it a maximum height of 0px.
I'm having some troubles with this css menu of mine (I'm pretty new to the whole HTML/CSS thing, and so I pieced together some code from Wordpress and other websites). Everything works fine, except when the following occurs:
I hover over a menu item
The dropdown menu fades in
I move my cursor out of the dropdown menu
It moves to the very left side of the menu element and fades out
I don't understand why it moves to the left and doesn't stay in its intended position, and I need some help getting rid of it.
Here's the CSS code:
#import url(http://fonts.googleapis.com/css?family=Droid+Serif);
#cssmenu {clear: both; padding: 0; display: block; margin: 0; border: 0; float: left; z-index: 99999;}
#cssmenu ul, #cssmenu li {list-style: none; margin: 0; padding-left: 0;}
#cssmenu ul {position: relative; z-index: 99999; }
#cssmenu ul li { float: left; min-height: 1px; vertical-align: middle;}
#cssmenu ul li.hover,
#cssmenu ul li:hover {position: relative; z-index: 99999; cursor: default; opacity: 1;}
#cssmenu ul ul {visibility: hidden; position: absolute; top: 100%; left: 0; z-index: 99999; width: 100%;}
#cssmenu ul ul li {float: none;}
#cssmenu ul ul ul {top: 0; left: auto; right: -99.5%; }
#cssmenu ul ul {bottom: 0; left: 0;}
#cssmenu ul ul {margin-top: 0; }
#cssmenu ul ul li {font-weight: normal;}
#cssmenu a { display: block; line-height: 1em; text-decoration: none; }
#cssmenu {
position: fixed;
top: 0;
left: 180px;
width:100%;
background: #020202;
border-bottom: 4px solid #08c1c3;
font-family: 'Droid Serif', serif;
font-size: 14px;
}
#cssmenu > ul { *display: inline-block; }
#cssmenu:after, #cssmenu ul:after {
content: '';
display: block;
clear: both;
}
#cssmenu a {
display: block;
background: #020202;
color: #CCC;
opacity: 1;
padding: 0 20px;
z-index: 99999;
}
#cssmenu ul ul {
border-top: 4px solid #08c1c3;
text-transform: none;
min-width: 190px;
float: left;
opacity: 0;
position: absolute;
left: 0;
visibility: hidden;
-webkit-transition: visibility 0s 0.4s, opacity 0.4s ease-in;
-moz-transition: visibility 0s 0.4s, opacity 0.4s ease-in;
-o-transition: visibility 0s 0.4s, opacity 0.4s ease-in;
transition: visibility 0s 0.4s, opacity 0.4s ease-in;
z-index: 99999;
}
#cssmenu ul ul a {
background: #020202;
color: #CCC;
border: 1px solid #08c1c3;
border-top: 0 none;
line-height: 1.25;
padding: 16px 20px;
z-index: 99999;
width: 150px;
}
#cssmenu ul li:hover > ul {
display: block;
opacity: 1;
-webkit-transition: opacity 0.4s ease-in;
-moz-transition: opacity 0.4s ease-in;
-o-transition: opacity 0.4s ease-in;
transition: opacity 0.4s ease-in;
visibility: visible;
}
#cssmenu ul ul li {
}
#cssmenu > ul > li > a { line-height: 48px; }
/* #cssmenu ul ul li:first-child > a { border-top: 1px solid #08c1c3; }
#cssmenu ul ul li:hover > a { background: #333; } */
#cssmenu ul ul li:last-child > a {
box-shadow: 0 1px 0 #08c1c3;
}
#cssmenu ul li:hover > a, #cssmenu ul li.active > a {
background: #333;
color: #08c1c3;
opacity: 1;
} /* Top level of menu */
#cssmenu ul li.has-sub > a:after {
content: "\00BB";
float: right;
margin-left: 5px;
}
#cssmenu ul li.last ul {
left: auto;
right: 0;
}
#cssmenu ul li.last ul ul {
left: auto;
right: 99.5%;
}
And here's an example menu:
<div id='cssmenu'>
<ul>
<li class='active'><a href='index.html'>Home</a></li>
<li class='has-sub '><a href='#'>A</a>
<ul>
<li><a href='#'>A-a</a></li>
<li><a href='#'>A-b</a></li>
</ul>
</li>
<li class='has-sub '><a href='#'>B</a>
<ul>
<li><a href='#'>B-a</a></li>
<li><a href='#'>B-b</a></li>
<li><a href='#'>B-c</a></li>
</ul>
</li>
<li><a href='#'>C</a></li>
<li><a href='#'>About</a></li>
</ul>
</div>
You need to set position:relative on the list items for the default state, not for the hover state:
#cssmenu ul li {
position: relative;
}
Otherwise when you hover out the sub-menu is positioned relative to the menu container and not its parent
Updated fiddle