Hola... Puedes hacerlo con css y mediaqueries, con responsive design... Para ello tienes que elegir la anchura a la que quieres cambiar la disposiciom de los elementos a traves de una consulta mediaquerie y ahi, indicar las propiedades css que quieras para ese elemento.
Por ejemplo:
Código:
@media screen and (min-width: 600 px) {
nav{ width: 300px; etc...}
}
Googlea un poco y busca media queries y responsive design... Hay mucha info al respecto ;)
Espero que te sirva de ayuda.
Pd: lo siento x el duplicado, xero he contestado a traves del movil y la he liado :{