Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/01/2014, 00:22
Avatar de g3kdigital
g3kdigital
 
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 10 años, 5 meses
Puntos: 39
Información Respuesta: Div ancho automatico

Tu estructura si bien no es una conocida y por cuestiones de semantica o accesibilidad no la recomiendo (sobre todo por el exceso de "div" innecesarios) Esto no quiere decir que sea imposible de usar y por ejemplo para lograr tu objetivo te recomiendo:

Primero: asignale a tu contenedor con el id "menu" un cambio en su modelo de caja para transformarlo en una tabla usando "display: table;" y además un ancho del 100%.

Código CSS:
Ver original
  1. #menu
  2. {
  3.   display: table;
  4.   width: 100%;
  5. }

Segundo: a todos los div anidados asignales un "display: table-cell;" de esta manera trataran automáticamente unos tamaños relativos con el fin de llenar toda la estrucutura. Puedes usar el selector "#menu>div" o la clase que tu usas ".menu".

Código CSS:
Ver original
  1. .menu
  2. {
  3.   display: table-cell;
  4. }

Tercero: Habiendo hecho esto, solo queda decirle al ultimo div o celda, que deberá ocupar siempre un ancho que ocupe el resto del contenido, por lo que le podemos especificar "width: 100%;" de esta forma conseguirás tu objetivo.

Código HTML:
Ver original
  1. #blanco
  2. {
  3.    width: 100%;
  4. }

Puse un ejemplo de como se vería en este http://codepen.io/g3kdigital/pen/wDocC

Por cierto, francamente la estructura del html es un poco extraña para un menu.

Actualmente no conozco una forma de que solo con html o css se calcule un espacio cuando no hay ninguno de los siguientes 3 factores bien definidos: Estructura, Modelo de caja o Medidas (ya sean en pixeles, porcentajes, em, etc).

Por lo que te invito a estudiar un poco estructuras html (en google hay montones de ejemplos) mira este por ejemplo http://codepen.io/g3kdigital/pen/oKDlf

Última edición por g3kdigital; 11/01/2014 a las 00:33