1._ lo que no comprendo por que usas tags noHTML, es un híbrido o quieres hacerlo en XHTML XML??
2._ yo separaría el estilo, el de los bordes-redondos tal cual.. siendo porejemplo llamado de esta manera.
Código HTML :
.bordesredondos{
border-radius: 10px;
-webkit-border-radius: 10px;
-ms-border-radius: 10px;
-moz-border-radius: 10px;
-o-border-radius: 10px;
-webkit-box-shadow: rgba(0, 0, 128, 0.246094) 0px 0px 8px inset;
-moz-box-shadow: rgba(0, 0, 128, 0.246094) 0px 0px 8px inset;
-o-box-shadow: rgba(0, 0, 128, 0.246094) 0px 0px 8px inset;
-ms-box-shadow: rgba(0, 0, 128, 0.246094) 0px 0px 8px inset;
}
3._ lo del nav, lo dejaria... en una clase estilo.
Código HTML :
.nav{
width:150px;
float:left;
margin:5px;
padding:10px;
background:rgba(152,191,191,0.5);
}
si observas he eliminado cosas raras... que creo innecesarias... por ejemplo los auto's de los margin&padding.position:relative, labaseline etc...
4._en la pág propiamente dicha quedaría así.
Código HTML :
<div class=nav>
<span><a href="index.html" class="actual">Inicio</a></span>
<span><a href="portfolio.html">Portfolio</a></span>
<span><a href="contacto.html">Contacto</a></span>
</div>
los estilos los puedes aplicar a classes, o a etiquetas como gustes.... (cursiva,colores, etc).
5._ tal cual esta escrito, el menú se quedará tal cual lo visualizas (en una linea) de ancho el marcado. Si lo que quieres es que siga el menú dentro del cuadrado... aunque el menu se reajuste en la pantalla, debes de cambiar la siguiente línea en el estilo
nav.
width:150px; --por-->
float:left;luego es ir jugando... con valores, entorno etc..