I've read all the questions concerning centering submenus. But I don't get my problem solved.
I have a simple navigation bar with 2 submenus. You can find it here: Fiddle.
ul#nav, ul#sub1, ul#sub2 {
list-style-type: none;
}
ul#nav {
position: relative;
}
ul#nav li {
width: 125px;
text-align: center;
float: left;
margin-right: 4px;
}
ul#nav a {
text-decoration: none;
display: block;
width: 125px;
height: 25px;
line-height: 25px;
background-color: #FFF;
border: 1px solid #CCC;
border-radius: 5px;
color: #000;
}
ul#sub1 a, ul#sub2 a {
margin-top: 4px;
}
ul#nav li:hover > a {
background-color: #6E6E6E;
color: #FFF;
}
ul#nav li:hover a:hover {
background-color: #E2E2E2;
color: #000;
}
ul#sub1, ul#sub2 {
display: none;
position: absolute;
left: 0px;
}
ul#nav li:hover ul#sub1 {
display: block;
}
ul#sub1 li:hover ul#sub2 {
display: block;
}
<nav>
<ul id="nav">
<li><a href="#">Reisen</a>
<ul id="sub1">
<li><a href="#">Europa</a></li>
<li><a href="#">Amerika</a></li>
<li><a href="#">Asien</a>
<ul id="sub2">
<li><a href="#">Thailand</a></li>
<li><a href="#">Bhutan</a></li>
<li><a href="#">China</a></li>
<li><a href="#">Vietnam</a></li>
<li><a href="#">Japan</a></li>
</ul>
</li>
<li><a href="#">Afrika</a></li>
<li><a href="#">Australien</a></li>
</ul>
</li>
<li><a href="#">Magazin</a></li>
<li><a href="#">Karriere</a>
<ul id="sub1">
<li><a href="#">Thema 1</a></li>
<li><a href="#">Thema 2</a></li>
<li><a href="#">Thema 3</a></li>
</ul>
</li>
<li><a href="#">Kontakt</a></li>
</ul>
</nav>
I want the submenu centered. When I hover over "Reisen" the submenu gets the same width like the main menu. When I hover over "Karriere", I want the submenu centered under "Karriere" and not positioned left under "Reisen".
I was thinking of a span-element to the button "Karriere" but I couldn't solve it.
Thanks for your help.
I don't really now if this is what you're looking for or not, but maybe something like this?
Note: I made a few changes to your CSS and HTML, mainly changing everything to use classes instead of IDs
HTML
<nav>
<ul id="nav">
<li><a href="#">Reisen</a>
<ul class="sub">
<li><a href="#">Europa</a></li>
<li><a href="#">Amerika</a></li>
<li><a href="#">Asien</a>
<ul class="sub-second">
<li><a href="#">Thailand</a></li>
<li><a href="#">Bhutan</a></li>
<li><a href="#">China</a></li>
<li><a href="#">Vietnam</a></li>
<li><a href="#">Japan</a></li>
</ul>
</li>
<li><a href="#">Afrika</a></li>
<li><a href="#">Australien</a></li>
</ul>
</li>
<li><a href="#">Magazin</a></li>
<li><a href="#">Karriere</a>
<ul class="sub">
<li><a href="#">Thema 1</a></li>
<li><a href="#">Thema 2</a></li>
<li><a href="#">Thema 3</a></li>
</ul>
</li>
<li><a href="#">Kontakt</a></li>
</ul>
CSS
ul#nav, ul.sub {
list-style-type: none;
}
ul#nav {
position: relative;
}
ul#nav li {
width: 125px;
text-align: center;
float: left;
margin-right: 4px;
position: relative;
}
ul#nav a {
text-decoration: none;
display: block;
width: 125px;
height: 25px;
line-height: 25px;
background-color: #FFF;
border: 1px solid #CCC;
border-radius: 5px;
color: #000;
}
ul.sub a {
margin-top: 4px;
}
ul#nav li:hover > a {
background-color: #6E6E6E;
color: #FFF;
}
ul#nav li:hover a:hover {
background-color: #E2E2E2;
color: #000;
}
ul.sub {
display: none;
position: absolute;
left: 0px;
padding-left: 0;
}
ul.sub-second {
display: none;
list-style: none;
left:100px;
top: 0;
position: absolute;
}
ul#nav li:hover ul.sub {
display: block;
}
ul#nav li:hover ul.sub li:hover ul.sub-second {
display:block;
}
}