Top Level menu item in dropdown - css

I have a dropdown menu made fully in CSS (no JS). I'd like the top level menu item to stay highlighted when I hover on its dropdown menus but I can't figure out how.
Here is an example of what I'm talking about: when you place your cursor on the dropdown, the top level item goes back to default color...
Could anyone help with that? Is there a rule in CSS that would fix that?
Here is the CSS:
nav {
z-index: 10001;
position: relative;
display: block;
width: 100%;
height: 45px;
text-transform: uppercase;
border-bottom: 1px solid white;
color: white;
text-shadow: none;
text-align: center
}
nav a {
text-decoration: none
}
#topmenu {
position: relative;
text-align: left;
left: 2%
}
nav ul {
white-space: nowrap;
list-style: none;
position: relative;
display: inline-block
}
nav ul ul {
visibility: hidden;
opacity: 0;
-webkit-opacity: 0;
-moz-opacity: 0;
transition: opacity .3s linear,visibility .3s linear;
-webkit-transition: opacity .3s linear,visibility .3s linear;
-moz-transition: opacity .3s linear,visibility .3s linear;
-o-transition: opacity .3s linear,visibility .3s linear
}
nav ul ul li: last-child {
-webkit-border-bottom-right-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomright: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
border-bottom: 1px solid #afafaf
}
nav ul li a: hover {
padding: 13px 20px;
color: green
}
nav ul ul {
padding: 0;
position: absolute
}
nav ul ul li {
float: none;
position: relative;
border: 1px solid #afafaf;
border-bottom: 1px solid #b7b7b7;
border-top: 1px solid #fff;
background: -webkit-linear-gradient(#eee 0,#d4d4d4 100%);
background: linear-gradient(#eee 0,#d4d4d4 100%);
background: -moz-linear-gradient(#eee 0,#d4d4d4 100%);
background: -o-linear-gradient(#eee 0,#d4d4d4 100%);
-moz-box-shadow: inset 2px 2px 5px #ccc;
-webkit-box-shadow: inset 2px 2px 5px #ccc;
box-shadow: inset 2px 2px 5px #ccc;
filter: progid: DXImageTransform.Microsoft.Shadow(color=#ccc,Direction=134,Strength=5);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee',endColorstr='#d4d4d4')
}
nav ul ul li a {
padding: 13px 20px;
color: #063058
}
nav ul li: hover>ul {
visibility: visible;
opacity: 1;
-moz-opacity: 1;
-webkit-opacity: 1
}
nav ul li {
float: left
}
#topmenu li a: hover {
color: #fff
}
#topmenu li a: hover {
color: green;
background: -webkit-linear-gradient(#eee 0,#d4d4d4 100%);
background: linear-gradient(#eee 0,#d4d4d4 100%);
background: -moz-linear-gradient(#eee 0,#d4d4d4 100%);
-moz-box-shadow: inset 2px 2px 5px #ccc;
-webkit-box-shadow: inset 2px 2px 5px #ccc;
box-shadow: inset 2px 2px 5px #ccc;
filter: progid: DXImageTransform.Microsoft.Shadow(color=#ccc,Direction=134,Strength=5);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee',endColorstr='#d4d4d4')
}
nav ul li a {
display: block;
padding: 13px 20px;
color: white
}
nav ul ul ul {
position: absolute;
left: 100%;
top: 0
}

This works
#topmenu li:hover a {
background: linear-gradient(#EEEEEE 0px, #D4D4D4 100%) repeat scroll 0 0 transparent;
box-shadow: 2px 2px 5px #CCCCCC inset;
color: green;
}
I`ve just copied your code there.

I can't get your website to load so i've just done this fiddle for you with lots of comments expalaining the CSS
I have done this fiddle for you http://jsfiddle.net/kevinPHPkevin/PknRT/
nav ul ul {
display: none;
}

Related

Why does my hover background extend past container

I am relatively new to CSS and tried to create a CSS DropDown menu.
After many hours of css reading I have created one, but the last child on the parent UL bleeds over when on hover.
Here is JSFiddle link: JSFiddle Code
<mini-nav>
<ul>
<li>Services
<ul>
<li>Service 1</li>
<li>Service 2</li>
<li>Service 3</li>
<li>Service 4</li>
</ul>
</li>
<li>Security
<ul>
<li>Security 1</li>
<li>Security 2</li>
<li>Security 3</li>
</ul>
</li>
<li>Centres
<ul>
<li>Centres 1</li>
<li>Centres 2</li>
<li>Centres 3</li>
</ul>
</li>
</ul>
mini-nav ul
{
width: 237px;
text-align: center;
display: inline;
margin: 0;
padding: 5px 0 5px 0px;
list-style-type: none;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
background: #58585A;
box-shadow: 3px 3px 5px #828282;
}
mini-nav ul li
{
font-size: 13px;
display: inline-block;
margin-right: -4px;
position: relative;
width: 78px;
padding: 5px 0 5px 0px;
border-right: 1px solid white;
cursor: pointer;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
-ms-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
mini-nav ul > li:last-child
{
border-right: none;
}
mini-nav ul li:hover
{
background: #E8E8E8;
color: black;
background-image: url(../mes-images/menu-topper.png);
background-position: top left;
background-repeat: repeat-x;
display: inline-block;
}
mini-nav ul li:hover:first-child
{
-moz-border-radius: 5px 0 0 0;
-webkit-border-radius: 5px 0 0 0;
border-radius: 5px 0 0 0;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
mini-nav ul li:hover:last-child
{
-moz-border-radius: 0 5px 0 0;
-webkit-border-radius: 0 5px 0 0;
border-radius: 0 5px 0 0;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
mini-nav ul li:hover a
{
color: black;
}
mini-nav ul li:hover ul
{
display: block;
opacity: 0.8;
visibility: visible;
}
mini-nav ul li a
{
color: White; text-decoration: none;
}
mini-nav ul li ul
{
text-align: left;
padding:0;
position: absolute;
top: 27px;
left: 0;
width: auto;
display: none;
visibility: hidden;
-webkit-transiton: opacity 0.2s;
-moz-transition: opacity 0.2s;
-ms-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
-transition: opacity 0.2s;
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
mini-nav ul ul > li:last-child
{
border-bottom: none;
}
mini-nav ul li ul li:hover
{
background: #E8E8E8;
color: black;
width: 110px;
}
mini-nav ul li ul li
{
display: block;
color: #fff;
width: 110px;
border-bottom: solid 1px silver;
padding-left: 12px;
border-right: none;
margin-right: 0;
}
mini-nav ul li ul li:hover:last-child
{
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
I apologize for my bastardized css!!!
On your Css, find this code
mini-nav ul > li:last-child { border-right: none; }
and add "margin:0" into it so it like this :
mini-nav ul > li:last-child { border-right: none; margin:0; }
Finally, this is what you want ?
DEMO
Working code if link was broken :
/* Parent CSS */
mini-nav ul {
width: 237px;
text-align: center;
display: inline;
margin: 0;
padding: 5px 0 5px 0px;
list-style-type: none;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
background: #58585A;
box-shadow: 3px 3px 5px #828282;
}
mini-nav ul li {
font-size: 13px;
display: inline-block;
margin-right:-4px;
position: relative;
width: 78px;
padding: 5px 0 5px 0px;
border-right: 1px solid white;
cursor: pointer;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
-ms-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
mini-nav ul > li:last-child { border-right: none; margin:0; }
mini-nav ul li:hover
{
background: #E8E8E8;
color: black;
background-image: url(../mes-images/menu-topper.png);
background-position: top left;
background-repeat: repeat-x;
display: inline-block;
}
mini-nav ul li:hover:first-child {
-moz-border-radius: 5px 0 0 0;
-webkit-border-radius: 5px 0 0 0;
border-radius: 5px 0 0 0;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
mini-nav ul li:hover:last-child {
-moz-border-radius: 0 5px 0 0;
-webkit-border-radius: 0 5px 0 0;
border-radius: 0 5px 0 0;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
mini-nav ul li:hover a { color: black; }
mini-nav ul li:hover ul {
display: block;
opacity: 0.8;
visibility: visible;
}
mini-nav ul li a { color: White; text-decoration: none; }
/* Child CSS */
mini-nav ul li ul {
text-align: left;
padding:0;
position: absolute;
top: 27px;
left: 0;
width: auto;
display: none;
visibility: hidden;
-webkit-transiton: opacity 0.2s;
-moz-transition: opacity 0.2s;
-ms-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
-transition: opacity 0.2s;
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
mini-nav ul ul > li:last-child { border-bottom: none; }
mini-nav ul li ul li:hover {
background: #E8E8E8;
color: black;
width: 110px;
}
mini-nav ul li ul li {
display: block;
color: #fff;
width: 110px;
border-bottom: solid 1px silver;
padding-left: 12px;
border-right: none;
margin-right: 0;
}
mini-nav ul li ul li:hover:last-child {
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
It's because .mini-nav ul li is
position:relative;
margin-right:-4px;
You've made it go right 4 pixels and that's throwing it out.

Navigation Bar 100% Width Centering

I've been trying for a while now to center everything that's in my Navigation Bar. Here's my CSS and HTML code I would appreciate it if anyone could give me a hint on what to do.
#cssmenu ul {
margin: 0;
padding: 0;
}
#cssmenu li {
margin: 0;
padding: 0;
}
#cssmenu a {
margin: 0;
padding: 0;
}
#cssmenu ul {
list-style: none;
}
#cssmenu a {
text-decoration: none;
}
#cssmenu {
height: 70px;
background-color: #232323;
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
width: auto;
text-align: center;
}
#cssmenu > ul > li {
float: left;
margin-left: 15px;
position: relative;
}
#cssmenu > ul > li > a {
color: #a0a0a0;
font-family: Verdana, 'Lucida Grande';
font-size: 15px;
line-height: 70px;
padding: 15px 20px;
-webkit-transition: color .15s;
-moz-transition: color .15s;
-o-transition: color .15s;
transition: color .15s;
}
#cssmenu > ul > li > a:hover {
color: #ffffff;
}
#cssmenu > ul > li > ul {
opacity: 0;
visibility: hidden;
padding: 16px 0 20px 0;
background-color: #fafafa;
text-align: left;
position: absolute;
top: 55px;
left: 50%;
margin-left: -90px;
width: 180px;
-webkit-transition: all .3s .1s;
-moz-transition: all .3s .1s;
-o-transition: all .3s .1s;
transition: all .3s .1s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
}
#cssmenu > ul > li:hover > ul {
opacity: 1;
top: 65px;
visibility: visible;
}
#cssmenu > ul > li > ul:before {
content: '';
display: block;
border-color: transparent transparent #fafafa transparent;
border-style: solid;
border-width: 10px;
position: absolute;
top: -20px;
left: 50%;
margin-left: -10px;
}
#cssmenu > ul ul > li {
position: relative;
}
#cssmenu ul ul a {
color: #323232;
font-family: Verdana, 'Lucida Grande';
font-size: 13px;
background-color: #fafafa;
padding: 5px 8px 7px 16px;
display: block;
-webkit-transition: background-color 0.1s;
-moz-transition: background-color 0.1s;
-o-transition: background-color 0.1s;
transition: background-color 0.1s;
}
#cssmenu ul ul a:hover {
background-color: #f0f0f0;
}
#cssmenu ul ul ul {
visibility: hidden;
opacity: 0;
position: absolute;
top: -16px;
left: 206px;
padding: 16px 0 20px 0;
background-color: #fafafa;
text-align: left;
width: 180px;
-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
}
#cssmenu ul ul > li:hover > ul {
opacity: 1;
left: 190px;
visibility: visible;
}
#cssmenu ul ul a:hover {
background-color: #cc2c24;
color: #f0f0f0;
}
And finally my HTML.
<div id='cssmenu'>
<ul>
<li class='active'><a href='index.html'><span>Home</span></a></li>
<li><a href='#'><span>Forums</span></a></li>
<li><a href='#'><span>Title1</span></a></li>
<li><a href='#'><span>Title2</span></a></li>
<li><a href='#'><span>Title3</span></a></li>
<li class='last'><a href='#'><span>Title4</span></a></li>
</ul>
</div>
Currently all that happens is my navigation bar is 100% width which is what I want but, the buttons are still aligned to the left and I want them to be in the center. I've tried numerous things and can't seem to make it work. Any help is greatly appreciated.
You only need this :
#cssmenu > ul {
display:table;
margin:0 auto;
}
View the demo http://jsfiddle.net/sn3Hn/2/
Use same structure, but you need change your css:
#cssmenu ul
{
text-align: center;
}
#cssmenu li
{
display: inline-block; < Secret;
margin: 0;
padding: 0;
}
Codepen > http://cdpn.io/usChr
Resolve?
Good lucky
I've had success using the css table method.
#cssmenu ul {
display: table;
width: 100%;
}
#cssmenu ul li {
display: table-cell;
}

Drop down menu for iphone and android

My site has one drop down menu which does not work in iOS or on android. I know the problem is due to the lack of cursor on these devices, so I'm looking to switch the menu from a hover action to a clickable one. I lack the proper terms to speak intelligently on this subject so hopefully what I'm asking makes sense. www.salvageinteriors.com
Here's my code:
CSS:
#cssmenu ul {
margin: 0;
padding: 0;
}
#cssmenu li {
margin: 0;
padding: 0;
z-index: 29;
}
#cssmenu a {
margin: 0;
padding: 0;
}
#cssmenu ul {
list-style: none;
}
#cssmenu a {
text-decoration: none;
}
#cssmenu {
height: 31px;
background-color: #ffffff;
box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
width: 940px;
}
#cssmenu > ul > li {
float: left;
margin-left: 45px;
margin-top: -20px;
position: relative;
}
#cssmenu > ul > li > a {
color: #000000;
font-family: calibri;
font-size: 18px;
line-height: 70px;
padding: 15px 20px;
-webkit-transition: color .15s;
-moz-transition: color .15s;
-o-transition: color .15s;
transition: color .15s;
}
#cssmenu > ul > li > a:hover {
color: #000000;
}
#cssmenu > ul > li > ul {
opacity: 0;
visibility: hidden;
padding: 16px 0 20px 0;
background-color: #000000;
text-align: left;
position: absolute;
top: 55px;
left: 50%;
margin-left: -90px;
width: 180px;
-webkit-transition: all .3s .1s;
-moz-transition: all .3s .1s;
-o-transition: all .3s .1s;
transition: all .3s .1s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
}
#cssmenu > ul > li:hover > ul {
opacity: 1;
top: 65px;
visibility: visible;
}
#cssmenu > ul > li > ul:before {
content: '';
display: block;
border-color: transparent transparent #000000 transparent;
border-style: solid;
border-width: 10px;
position: absolute;
top: -20px;
left: 50%;
margin-left: -10px;
}
#cssmenu > ul ul > li {
position: relative;
}
#cssmenu ul ul a {
color: #ffffff;
font-family: Verdana, 'Lucida Grande';
font-size: 13px;
background-color: #000000;
padding: 5px 8px 7px 16px;
display: block;
-webkit-transition: background-color 0.1s;
-moz-transition: background-color 0.1s;
-o-transition: background-color 0.1s;
transition: background-color 0.1s;
}
#cssmenu ul ul a:hover {
background-color: #000000;
}
#cssmenu ul ul ul {
visibility: hidden;
opacity: 0;
position: absolute;
top: -16px;
left: 206px;
padding: 16px 0 20px 0;
background-color: #ffffff;
text-align: left;
width: 180px;
-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
}
#cssmenu ul ul > li:hover > ul {
opacity: 1;
left: 190px;
visibility: visible;
}
#cssmenu ul ul a:hover {
background-color: #ffffff;
color: #000000;
}
HTML:
<div id='cssmenu'>
<ul>
<li class='has-sub'><a href='http://www.salvageinteriors.com/p/work.html'> <span>Work</span></a>
<ul>
<li><a href='http://www.salvageinteriors.com/p/commercial.html'><span>Commercial Fixtures</span></a></li>
<li><a href='http://www.salvageinteriors.com/p/furniture_13.html'><span>Furniture</span></a></li>
<li class='last'><a href='http://www.salvageinteriors.com/p/accoutrements.html'><span>Accoutrements</span></a></li>
</ul>
</li>
<li><a href='http://www.salvageinteriors.com/p/about.html'><span>About</span></a></li>
<li><a href='http://www.salvageinteriors.com/p/clients.html'><span>Clients</span></a></li>
<li><a href='http://www.salvageinteriors.com/p/press.html'><span>Press</span></a></li>
<li><a href='http://salvageinteriors.bigcartel.com/' target='_blank'><span>Shop</span></a></li>
<li><a href='http://salvageinteriorsblog.com/' target='_blank'><span>Blog</span></a></li>
<li class='last'><a href='http://www.salvageinteriors.com/p/contact.html'> <span>Contact</span></a></li>
</ul>
</div>
honestly, at least until everyone can figure out hovers for touch devices, we're kind of screwed when it comes to this stuff. There are two ways to work around this:
1) put all of your hover declarations behind a touch class and use Modernizr to add a touch class to your body element whenever the device is detected to be touch enabled.
2)Or you can just put your hover declarations inside of a media query that targets anything over 1024px.
Neither of these are very good solutions, but I will be the first to admit that I have used them before. I would probably use Modernizr if possible.

Horizontal CSS menu

I'm a web designer enthusiast and I've been facing some coding problems in a project I'm currently working on. My goal here is to reproduce the menu styling from this web page: http://blueowlcreative.com/wp/aqua/. I want it to be full-width and centered. This is what I've done so far:
This is the html:
<!-- Menu -->
<div id="menu">
<ul id="menu-bar">
<li>Home</li>
<li>Empresa
<ul>
<li>Nossa história</li>
<li>Sustentabilidade</li>
<li>Compromisso social</li>
</ul>
</li>
<li>Produtos</li>
<li>Cotação</li>
<li>Qualidade
<ul>
<li>Política da qualidade</li>
<li>Certificados</li>
</ul>
</li>
<li>Parceiros
<ul>
<li>Clientes</li>
<li>Fornecedores</li>
</ul>
</li>
<li>Contato</li>
</div><!-- end menu -->
And this is the CSS:
#menu {
width: 100%;
margin: 0;
padding: 0;
height: 60px;
line-height: 100%;
background: #494949;
background: linear-gradient(top, #494949, #353535);
background: -ms-linear-gradient(top, #494949, #353535);
background: -webkit-gradient(linear, left top, left bottom, from(#494949), to(#353535));
background: -moz-linear-gradient(top, #494949, #353535);
border: solid 0px #6d6d6d;
position:relative;
z-index:999; }
#menu-bar {
width: 937px;
margin: 0 auto;
height: 60px;
line-height: 100%; }
#menu-bar li {
margin: 0;
padding: 0;
float: left;
position: relative;
list-style: none; }
#menu-bar a {
margin: 0;
padding: 0px 20px 0px 20px;
font-family: Open Sans;
font-weight: normal;
font-size: 14px;
color: #fff;
text-decoration: none;
display: block;
line-height: 60px;
text-shadow: 1px 1px 0px #000000; }
#menu-bar li ul li a {
margin: 0;
line-height: 20px; }
#menu-bar li:hover > a {
background: #555757;
color: #fff;
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear; }
#menu-bar ul a:hover {
background: #0399d4;
color: #fff;
text-shadow: 1px 1px 0px #000; }
#menu-bar ul {
display: none;
margin: 0;
padding: 0;
width: 185px;
position: absolute;
top: 60px;
left: 0;
background: #4f5152;
background-image: -moz-linear-gradient(#58595a,#414344);
background-image: -o-linear-gradient(#58595a,#414344);
background-image: -webkit-linear-gradient(#58595a,#414344);
background-image: linear-gradient(#58595a,#414344);
border: 1px solid #212223;
border-top: 1px solid #212223;
-moz-border-radius: 0px 0px 4px 4px;
-webkit-border-radius: 0px 0px 4px 4px;
-khtml-border-radius: 0px 0px 4px 4px;
border-radius: 0 0 4px 4px;
box-shadow: inset 0 3px 0 #45494b; }
#menu-bar li:hover > ul {
display: block; }
#menu-bar ul li {
float: none;
margin: 0;
padding: 0; }
#menu-bar ul a {
padding: 15px 0px 15px 15px;
color:#fff;
text-shadow: 1px 1px 0px #000000; }
#menu-bar ul li:last-child > a {
border-bottom-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px; }
#menu-bar:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0; }
#menu-bar {
display: inline-block; }
html[xmlns] #menu-bar {
display: block; }
* html #menu-bar {
height: 1%; }
first you should close your </ul> tag.
and then you should add some styles in your #menu.
top: 0;
left: 0;
change your position:relative; to position:fixed;
#menu {
width: 100%;
margin: 0;
padding: 0;
top: 0;
left: 0;
height: 60px;
line-height: 100%;
background: #494949;
background: linear-gradient(top, #494949, #353535);
background: -ms-linear-gradient(top, #494949, #353535);
background: -webkit-gradient(linear, left top, left bottom, from(#494949), to(#353535));
background: -moz-linear-gradient(top, #494949, #353535);
border: solid 0px #6d6d6d;
position:fixed;
z-index:999;
}
add float: right; in your #menu-bar
#menu-bar {
width: 937px;
margin: 0 auto;
height: 60px;
line-height: 100%;
float: right;
}

CSS - how do i stretch the background of the menu

Hello,
Can someone help me, how can i stretch the background of the menu (to be full width, from left to right)?
I'm a beginner.
Thanks.
#menu, #menu ul {
margin: 0;
padding: 0;
list-style: none;
}
#menu {
width:100%;
margin: 0px;
background-color: #3d56ac;
background-image: linear-gradient(#444, #111);
}
#menu:before,
#menu:after {
content: "";
display: table;
}
#menu:after {
clear: both;
}
#menu {
zoom:1;
}
#menu li {
float: left;
border-right: 1px solid #222;
box-shadow: 1px 0 0 #444;
position: relative;
}
#menu a {
float: left;
padding: 12px 30px;
color: #FFF;
text-transform: uppercase;
font: bold 12px Arial, Helvetica;
text-decoration: none;
text-shadow: 0 1px 0 #111;
}
#menu li:hover > a {
color: #fafafa;
}
*html #menu li a:hover { /* IE6 only */
color: #fafafa;
}
#menu ul {
margin: 20px 0 0 0;
_margin: 0; /*IE6 only*/
opacity: 0;
visibility: hidden;
position: absolute;
top: 38px;
left: 0;
z-index: 1;
background: #444;
background: linear-gradient(#444, #111);
box-shadow: 0 -1px 0 rgba(255,255,255,.3);
border-radius: 3px;
transition: all .2s ease-in-out;
}
#menu li:hover > ul {
opacity: 1;
visibility: visible;
margin: 0;
}
#menu ul ul {
top: 0;
left: 150px;
margin: 0 0 0 20px;
_margin: 0; /*IE6 only*/
box-shadow: -1px 0 0 rgba(255,255,255,.3);
}
#menu ul li {
float: none;
display: block;
border: 0;
_line-height: 0; /*IE6 only*/
box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}
#menu ul li:last-child {
box-shadow: none;
}
#menu ul a {
padding: 10px;
width: 130px;
_height: 10px; /*IE6 only*/
display: block;
white-space: nowrap;
float: none;
text-transform: none;
}
#menu ul a:hover {
background-color: #0186ba;
background-image: linear-gradient(#04acec, #0186ba);
}
#menu ul li:first-child > a {
border-radius: 3px 3px 0 0;
}
#menu ul li:first-child > a:after {
content: '';
position: absolute;
left: 40px;
top: -6px;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #444;
}
#menu ul ul li:first-child a:after {
left: -6px;
top: 50%;
margin-top: -6px;
border-left: 0;
border-bottom: 6px solid transparent;
border-top: 6px solid transparent;
border-right: 6px solid #3b3b3b;
}
#menu ul li:first-child a:hover:after {
border-bottom-color: #04acec;
}
#menu ul ul li:first-child a:hover:after {
border-right-color: #0299d3;
border-bottom-color: transparent;
}
#menu ul li:last-child > a {
border-radius: 0 0 3px 3px;
}
This should work:
#menu {
background-size: 100%;
}
You need to fix the width of the image... if your want to Stretch the background image...
**CSS**
background-image: url("menu.png");
background-size: 875px 125px;
background-repeat: no-repeat;
Hope this will helps you...
or you can try...
/css
body{margin: 0 auto;}
.menu100percent {
background: #3584b4; /* Old browsers */
background: -moz-linear-gradient(top, #3584b4 0%, #25567f 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3584b4), color-stop(100%,#25567f)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #3584b4 0%,#25567f 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #3584b4 0%,#25567f 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #3584b4 0%,#25567f 100%); /* IE10+ */
background: linear-gradient(to bottom, #3584b4 0%,#25567f 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3584b4', endColorstr='#25567f',GradientType=0 ); /* IE6-9 */
color: white;
font-size: 16px;
height: 37px;
width:100%;
}
.menu{width:1000px; margin: 0 auto; }
.menu a{color:#fff; font-size:12px; line-height:37px; font-family:Arial; text-decoration:none;}
/html
<div class="menu100percent">
<div class="menu">
Shop
</div>
</div>
DEMO HERE

Resources