Foros del Web » Creando para Internet » CSS »

Divs dinamicos, como?

Estas en el tema de Divs dinamicos, como? en el foro de CSS en Foros del Web. Hola, estoy intentando crear un template para ser usado posteriormente en diferentes paginas, por lo tanto estoy intentando hacerlo lo mas estandarizado posible pero me ...
  #1 (permalink)  
Antiguo 18/09/2009, 03:45
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 15 años, 1 mes
Puntos: 2
Divs dinamicos, como?

Hola, estoy intentando crear un template para ser usado posteriormente en diferentes paginas, por lo tanto estoy intentando hacerlo lo mas estandarizado posible pero me encuentro con un problema. El template contiene tres div. El primero es el menu y esta flotando hacia la izquerda. Este div no tiene ningun ancho fijo si no que se adapta al contenido. Luego tengo un segundo div que tambien esta flotando hacia la izquerda pero si tiene un ancho fijo. El tercer div esta flotando hacia la derecha sin ancho fijo. En el fondo tengo tres columnas.

Ahora bien, cuando en el template se utiliza la columna de la derecha, es decir el tercer div, todo se ve bien, genial, no problema. Pero como no siempre se utilizara ese tercer div no puedo contar con que siempre este ahí, asi que cuando pruebo el template sin el tercer div me queda ese espacio en blanco ya que el segundo div tiene un ancho fijo. Si ni utilizo un ancho fijo en el segundo div este automaticamente asume 100% lo que produce que el div me utiliza todo el ancho de la pagina colocandose debajdo del primer div.

Como puedo hacer que el segundo div se adapte en relacion al tercer div? es decir si el tercer div esta presente el segundo div disminuye su ancho?

Mi css y html se ve asi:

Código:
<html>
      <head></head>
      <body>
          <div id="wrapper">
                 <div id="menu">
                         <ul>
                               <li>...
                         </ul>
                 </div>
                 <div id="area1">
                        <%-- Contenido del segundo div, nada con ancho fijo aqui --%>
                 </div>
                 <div id="area2">
                        <%-- Contenido del tercer div, nada con ancho fijo aqui --%>
                 </div>
          </div>
     </body>
</html>
Código:
   #wrapper {
           margin: 0;
           padding: 0;
     }

    #menu {
           float: left;
    }

   #area1  {
          float: left;
          width: 700px; /* ---- ancho fijo si se esta utilizando el tercer div -----*/
    }

   #area2  {
          float: right;
   }
Alguna idea de como hacer el segundo div con un ancho mas dinamico?


/Americo
  #2 (permalink)  
Antiguo 18/09/2009, 13:48
Avatar de Calizman
Organiza competencias CSS
 
Fecha de Ingreso: octubre-2008
Ubicación: Ciudad de Guatemala, Guatemala
Mensajes: 1.122
Antigüedad: 9 años, 2 meses
Puntos: 83
Respuesta: Divs dinamicos, como?

Saludos!

Realmente.. me parece algo extraño que no le des un ancho fijo a las barras laterales, ya que si no pones nada en una de las dos (imaginemos que es la de la izquierda) tu #area1 se irá hacia la izquierda y tu barra derecha se quedaría ahí ocasionando un diseño no muy agradable...

Se me ocurren dos posibles soluciones.

La primera es que uses ancho fijo para tus columnas y un ancho variable para el cuadro central. Asi el cuadro central se apaptará a las barras laterales y tendrás algo mejor maquetado.

Lo segundo, es que agregues un div vacío con clear:both; que sirve bastante para que los divs se acomoden donde tienen que estar... (es algo mágico, casi místico... pero funciona)

Te recomiendo que aprendas a usar la propiedad clear y que hagas un nuevo estudio de lo que realmente quieres... Estudia las posibles formas de maquetar el template y sigue adelante con ello.

Que tengas éxitos y Hasta Luego!!
__________________
[ Mi Sitio Personal ]
"La felicidad no es una estacion de llegada... Es un modo de viajar"
Tom Schreiter
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:17.