Foros del Web » Creando para Internet » CSS »

duda sobre css y html, dividir pagina en 3 columnas

Estas en el tema de duda sobre css y html, dividir pagina en 3 columnas en el foro de CSS en Foros del Web. http://www.desarrolloweb.com/articulos/2160.php en el ejemplo.. es algo similar a lo que estaba haciendo, pero no me salia hasta que consulte mejor.. y por alguna extraña razon ...
  #1 (permalink)  
Antiguo 15/04/2013, 16:50
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
duda sobre css y html, dividir pagina en 3 columnas

http://www.desarrolloweb.com/articulos/2160.php

en el ejemplo.. es algo similar a lo que estaba haciendo, pero no me salia hasta que consulte mejor..
y por alguna extraña razon es la unica forma de que quede bien..

el enfoque son 3 columnas

izquierda, central y derecha.

el orden de los divs segun yo es.
Código HTML:
Ver original
  1. <div id="lateal">(izquierdo)
  2. con float left
  3. </div>
  4. <div id="central">
  5. con float left y margen left  de 100px para que se vaya al centro
  6. </div>
  7. <div id="otrolado">("derecho")
  8. con float right para que se acomode hasta la orilla
  9. </div>

eso me acarrea el problema de que al darle height al central.. el otrolado se va hacia abajo segun el height del central
osea

central height 100px;
otrolado y=100px";

se baja.





en cambio si acomodo las cosas asi.
ancho de pantalla supongamos 300px y que cada div mide de ancho 100px;
<div id="lateal">

Código HTML:
Ver original
  1. </div>
  2. <div id="otrolado">
  3.  
  4. </div>
  5. <div id="central">
  6.  
  7. </div>

todo funciona bien mmmm
no lo entiendo. alguien podría explicarme. jugue demasiado con el css. y la solucion fue html oO.



incluso encontré este ejemplo con mi misma solusion.

Código HTML:
Ver original
  1. <div id="contenedor">
  2.     <div id="cabecera">
  3.        Cabecera 01
  4.     </div>
  5.     <div id="cuerpo">
  6.        <div id="lateral">
  7.           <ul>
  8.              <li><a href="#">Enlace 1</a>
  9.              <li><a href="#">Vínculo 2</a>
  10.              <li><a href="#">Otro enlace</a>
  11.              <li><a href="#">Link chulo</a>
  12.              <li><a href="#">Más enlaces</a>
  13.              <li><a href="#">Otro último</a>
  14.           </ul>
  15.        </div>
  16.        <div id="otrolado">
  17.           <img src="bannerlateral.gif" width="120" height="600" alt="">
  18.        </div>
  19.        <div id="principal">
  20.           Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla condimentum commodo orci. Nulla eget purus nec massa
  21.           ...
  22.        </div>
  23.     </div>
  24.     <div id="pie">
  25.        © 2005 DesarrolloWeb.com
  26.     </div>
  27. </div>

Código CSS:
Ver original
  1. BODY {
  2.     font: 8pt Verdana, Geneva, Arial, Helvetica, sans-serif;
  3.     margin: 10 0 10 0px;
  4.     text-align: center;
  5.     background-color: #ebebeb;
  6. }
  7. #contenedor{
  8.     text-align: left;
  9.     width: 770px;
  10.     margin: auto;
  11. }
  12. #cabecera{
  13.     background-color: #d0d0ff;
  14.     color: #333300;
  15.     font-size:12pt;
  16.     font-weight: bold;
  17.     padding: 3 3 3 10px;
  18. }
  19. #cuerpo{
  20.     margin: 10 0 10 0px;
  21. }
  22. #lateral{
  23.     width: 160px;
  24.     background-color: #999999;
  25.     float:left;
  26. }
  27. #lateral ul{
  28.     margin : 0 0 0 0px;
  29.     padding: 0 0 0 0px;
  30.     list-style: none;
  31. }
  32. #lateral li{
  33.     background-color: #ffffcc;
  34.     margin: 2 2 2 2px;
  35.     padding: 2 2 2 2px;
  36.     font-weight: bold;
  37. }
  38. #lateral a{
  39.     color: #3333cc;
  40.     text-decoration: none;
  41. }
  42. #otrolado{
  43.     width: 120px;
  44.     float: right;  
  45. }
  46. #principal{
  47.     margin-left: 170px;
  48.     background-color: #ffffff;
  49.     padding: 4 4 4 4px;
  50.     width: 460px;
  51. }
  52. #pie{
  53.     background-color: #cccccc;
  54.     padding: 3 10 3 10px;
  55.     text-align:right;
  56.     clear: both;
  57. }

la otra cosa es que cuando lleno de divs el div central, cuando el alto de los divs internos sobrepasa el de el div contenedor, el div contenedor no se hace alto automaticamente. alguien sabe que propiedad es?
los divs internos que meto y crecen tiene position absolute..
de antemano gracias
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Última edición por minombreesmm; 15/04/2013 a las 16:58
  #2 (permalink)  
Antiguo 15/04/2013, 17:07
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Hola minombreesmm:
La razón de que no quepan las 3 columnas dentro de su contenedor es que la suma de sus anchos más los márgenes exceda al ancho del contenedor.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 15/04/2013, 18:21
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Cita:
Iniciado por Bandit Ver Mensaje
Hola minombreesmm:
La razón de que no quepan las 3 columnas dentro de su contenedor es que la suma de sus anchos más los márgenes exceda al ancho del contenedor.

Espero haberte sido de ayuda.
bueno de hecho no he probado el ejemplo.
mas que lo que explique arriba.
gracias.
por cierto
tambien decia que si tengo un div contenedor sin altura ni ancho fijo.

y que a la hora de agregarle dos divs de 100x100 el div contenedor
en el cual agrego los divs de 100 se queda del mismo tamaño..
aunque esten internos

Código CSS:
Ver original
  1. #inter{
  2. height:100px;
  3. width:100px;
  4. }

Código HTML:
Ver original
  1. <div id="contenedor">
  2. <div id = "inter">
  3. </div>
  4. <div id = "inter">
  5. </div>
  6. </div>
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #4 (permalink)  
Antiguo 16/04/2013, 15:47
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Aquí tienes un ejemplo:
Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="es">
  3.   <meta charset="UTF-8">
  4.   <title>Ejemplo</title>
  5.   <link rel="stylesheet" href="ejemplo.css">
  6. </head>
  7.   <div id="contenedor">
  8.     <div id="cabecera">
  9.        Cabecera 01
  10.     </div>
  11.     <div id="cuerpo">
  12.        <div id="lateral">
  13.          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Debitis, in, dolor veritatis dicta atque sequi eos amet. Est, odio, cupiditate, voluptatibus veniam molestiae suscipit fuga nisi commodi possimus nesciunt porro!</p>
  14.        </div>
  15.        <div id="otrolado">
  16.           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa, praesentium, reprehenderit in nobis eligendi hic quos quae nihil illum eum nesciunt ducimus fuga accusantium sed totam odio aut soluta natus?</p>
  17.        </div>
  18.        <div id="principal">
  19.           Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla condimentum commodo orci. Nulla eget purus nec massa
  20.           Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla condimentum commodo orci. Nulla eget purus nec massa
  21.        </div>      
  22.     </div>
  23.     <div id="pie">
  24.        © 2005 DesarrolloWeb.com
  25.     </div>
  26. </div>
  27. </body>
  28. </html>
Código CSS:
Ver original
  1. *{margin: 0; padding: 0}
  2. body {
  3.     background-color: #ebebeb;
  4.     font: 8pt Verdana, Arial, Helvetica, sans-serif;
  5.     margin: 10 0 10 0px;
  6.     text-align: center;
  7. }
  8. #contenedor{
  9.     text-align: left;
  10.     margin: auto;
  11.     width: 770px;
  12. }
  13. #cabecera{
  14.     background-color: #d0d0ff;
  15.     color: #333300;
  16.     font-size:12pt;
  17.     font-weight: bold;
  18.     padding: 3 3 3 10px;
  19. }
  20. #cuerpo{
  21.     margin: 10 0 10 0px;
  22. }
  23. #lateral{
  24.     background-color: #FFF;
  25.     width: 159px;
  26.     float:left;
  27. }  
  28. #otrolado{
  29.     background-color: #FFF;
  30.     float: right;  
  31.     width: 120px;
  32. }
  33. #principal{
  34.     background-color: #FFF;
  35.     margin-left: 170px;
  36.     padding: 4 4 4 4px;
  37.     width: 460px;
  38. }
  39. #pie{
  40.     background-color: #cccccc;
  41.     clear: both;
  42.     padding: 3 10 3 10px;
  43.     text-align:right;
  44. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 16/04/2013, 22:32
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Cita:
Iniciado por Bandit Ver Mensaje
Aquí tienes un ejemplo:
Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="es">
  3.   <meta charset="UTF-8">
  4.   <title>Ejemplo</title>
  5.   <link rel="stylesheet" href="ejemplo.css">
  6. </head>
  7.   <div id="contenedor">
  8.     <div id="cabecera">
  9.        Cabecera 01
  10.     </div>
  11.     <div id="cuerpo">
  12.        <div id="lateral">
  13.          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Debitis, in, dolor veritatis dicta atque sequi eos amet. Est, odio, cupiditate, voluptatibus veniam molestiae suscipit fuga nisi commodi possimus nesciunt porro!</p>
  14.        </div>
  15.        <div id="otrolado">
  16.           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa, praesentium, reprehenderit in nobis eligendi hic quos quae nihil illum eum nesciunt ducimus fuga accusantium sed totam odio aut soluta natus?</p>
  17.        </div>
  18.        <div id="principal">
  19.           Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla condimentum commodo orci. Nulla eget purus nec massa
  20.           Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla condimentum commodo orci. Nulla eget purus nec massa
  21.        </div>      
  22.     </div>
  23.     <div id="pie">
  24.        © 2005 DesarrolloWeb.com
  25.     </div>
  26. </div>
  27. </body>
  28. </html>
Código CSS:
Ver original
  1. *{margin: 0; padding: 0}
  2. body {
  3.     background-color: #ebebeb;
  4.     font: 8pt Verdana, Arial, Helvetica, sans-serif;
  5.     margin: 10 0 10 0px;
  6.     text-align: center;
  7. }
  8. #contenedor{
  9.     text-align: left;
  10.     margin: auto;
  11.     width: 770px;
  12. }
  13. #cabecera{
  14.     background-color: #d0d0ff;
  15.     color: #333300;
  16.     font-size:12pt;
  17.     font-weight: bold;
  18.     padding: 3 3 3 10px;
  19. }
  20. #cuerpo{
  21.     margin: 10 0 10 0px;
  22. }
  23. #lateral{
  24.     background-color: #FFF;
  25.     width: 159px;
  26.     float:left;
  27. }  
  28. #otrolado{
  29.     background-color: #FFF;
  30.     float: right;  
  31.     width: 120px;
  32. }
  33. #principal{
  34.     background-color: #FFF;
  35.     margin-left: 170px;
  36.     padding: 4 4 4 4px;
  37.     width: 460px;
  38. }
  39. #pie{
  40.     background-color: #cccccc;
  41.     clear: both;
  42.     padding: 3 10 3 10px;
  43.     text-align:right;
  44. }
Espero haberte sido de ayuda.
Ya lo veo gracias, de hecho asi lo tenia.
pero aun tengo la duda, por que funciona asi?


mira yo entiendo que debe ser asi..

1)
lateral
centro
otrolado

en vez de

2)
lateral
otrolado
centro

mmm no entiendo como se agregan las cosas internamente.

como se supone que el "otrolado" se fue a la orilla en vez de que el centro lo haga siendo que fue el ultimo en agregarse el centro que no?
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #6 (permalink)  
Antiguo 18/04/2013, 12:24
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

otrolado se va a la derecha por el float: right;
Para que todos los div se alineen horizontalmente a cada uno de ellos ponle: float: left;
En el HTML coloca en ése orden los Div: lateral, principal y otrolado.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #7 (permalink)  
Antiguo 18/04/2013, 22:29
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Cita:
Iniciado por Bandit Ver Mensaje
otrolado se va a la derecha por el float: right;
Para que todos los div se alineen horizontalmente a cada uno de ellos ponle: float: left;
En el HTML coloca en ése orden los Div: lateral, principal y otrolado.

Espero haberte sido de ayuda.
pues eso fue lo que hice

lateral y principal el left
y el otro lado right

eso fue en el css

pero


en el html
tubo que ser asi

lateral
otrolado
principal


en vez de:

lateral
principal
otrolado


en que forma se supone que se alinean los divs?
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #8 (permalink)  
Antiguo 19/04/2013, 04:46
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Te han dicho que flotaras todos hacia la izquierda. Cosa que dices que no haces.

Cita:
Iniciado por Bandit Ver Mensaje
Para que todos los div se alineen horizontalmente a cada uno de ellos ponle: float: left;
  #9 (permalink)  
Antiguo 19/04/2013, 11:51
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: duda sobre css y html, dividir pagina en 3 columnas

Cita:
Iniciado por pzin Ver Mensaje
Te han dicho que flotaras todos hacia la izquierda. Cosa que dices que no haces.
disculpen creo que eso había entendido mal.
pero si hago eso cuando el usuario use el zoom del navegador el div que este en el right no se va a quedar pegado a la derecha.
bueno de todas formas la cosas es que todos estén juntos basado en el 100%
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Etiquetas: ancho, columnas, dividir, divs, html, php
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 16:12.