You do it by letting the menu fill the entire width, and positioning the black logo element on top of it.
<div id="menu">
<div id="centered_wrapper">
<div id="logo"></div>
</div>
<ul>
<li><a href="#">> home</a>
<li><a href="#">> azienda</a>
<li><a href="#">> lavorazioni</a>
<li><a href="#">> contattaci</a>
</ul>
</div>
With CSS something like this:
body, html {
margin: 0;
background: #494848;
}
#menu {
margin-top: 150px;
height: 250px;
background: #3a3a3a;
}
#menu ul {
margin: 0;
padding: 140px 0 0;
}
#menu li {
margin: 0;
list-style: none;
padding: 5px;
}
#menu li:hover {
background: #4c4c4c;
}
#menu li a {
display: block;
width: 550px;
margin: 0 auto;
color: #fff;
text-decoration: none;
}
#centered_wrapper {
width: 0;
margin: 0 auto;
position: relative;
}
#logo {
position: absolute;
height: 250px;
width: 350px;
margin-left: -175px; // half of width
background: #000;
z-index: 1;
}
You'll notice that the :hover-effect of the menu items will also be shown on the right hand side. This you fix by applying a non-repeating background image, positioned 50% on the horizontal axis. Half of the image transparent, half of the image as the hover effect. With sufficient length.
#menu li:hover {
background: url(hover_effect.png) repeat-y 50% 0;
}