Foros del Web » Creando para Internet » CSS »

Maquetación a 3 columnas

Estas en el tema de Maquetación a 3 columnas en el foro de CSS en Foros del Web. Hola estoy maquetando un proyecto a 3 columnas, el punto es que necesito que la columna central siempre tenga un tamaño fijo: 1024px y las ...
  #1 (permalink)  
Antiguo 13/01/2012, 13:34
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Maquetación a 3 columnas

Hola estoy maquetando un proyecto a 3 columnas, el punto es que necesito que la columna central siempre tenga un tamaño fijo: 1024px y las columnas izquierdas y dercha se puedan estirar dependiendo la resolucion; estoy haciendo una prueba así.

Código HTML:
<div id="container1">
    <div id="col1">Column 1</div>
    <div id="col2">Column 2</div>
    <div id="col3">Column 3</div>
</div> 
Con el siguiente css:

Código HTML:
#container1 {
    float:left;
    width:100%;
}
#col1 {
    float:left;
    width:30%;
    background:red;
}
#col2 {
    float:left;
    width:40%;
    background:yellow;
}
#col3 {
    float:left;
    width:30%;
    background:green;
}
El problema es que como todas las columnas están definidas en porcentaje, si cambio la resolucion entonces todo crece en proporcion.
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #2 (permalink)  
Antiguo 13/01/2012, 13:55
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 11 meses
Puntos: 539
1024 px la central? Algo mucho me parece, pero bueno, esa no es la cuestión.

Izquierda y derecha con anchura mínima (min-width) y flotadas. La central con los 1024px.
La caja contenedora con min-width que será la suma de las tres anteriores.
  #3 (permalink)  
Antiguo 13/01/2012, 14:04
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Maquetación a 3 columnas

Gracias el asunto es que necesito que queden centrados, y haciendolo asi, todo se carga a la izquierda
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #4 (permalink)  
Antiguo 13/01/2012, 17:57
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Maquetación a 3 columnas

podes darle un text-align: center al body, y corregir los divs con text-align: left
Al margen de eso, como yaalgo te indicaron, ese esquema en cualquier resolución menor o igual a 1024px de ancho, es inaplicable

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 13/01/2012, 21:19
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Maquetación a 3 columnas

Cita:
Iniciado por emprear Ver Mensaje
podes darle un text-align: center al body, y corregir los divs con text-align: left
Hola emprear, ¿estas seguro que así se puede centrar el contenido del body?
Yo tenia entendido que en todo caso sirve para IE, pero no para el resto de navegadores, además de que es para alinear texto, o en todo caso declarar display:inline o algo parecido a cada div. No estoy seguro y seguramente estoy equivocado por eso te pregunto. También es posible que no haya comprendido la consulta de pixel1.

Bueno, por las dudas, quitandole el flotado al "container1" y con un margin: 0 auto; ya tendria su centrado, por supuesto, con las modificaciones recomendadas por kseso?.

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #6 (permalink)  
Antiguo 13/01/2012, 22:35
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Maquetación a 3 columnas

Si se puede, es el fix que habitualmente se usaba para IE6, que no respetaba el tradicional margin: 0 auto; que habitualmente usamos, pero centra horizontalmente los elementos en linea.

Para el caso que se planteó, algo asi

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <style type="text/css">
  8. /*<![CDATA[*/
  9. html, body{
  10. margin:0;
  11. padding: 0;
  12. border: none;
  13. }
  14.  
  15. body{
  16. text-align: center;
  17. }
  18.  
  19. div {
  20. text-align: left;
  21. display:inline-block;
  22. }
  23.  
  24. #col1{
  25. background: green;
  26. float:left;
  27. }
  28.  
  29. #col2{
  30. width: 1024px;
  31. background: cyan;
  32. float:left;
  33. }
  34.  
  35. #col3{
  36. background: yellow;
  37. float:left;
  38. }
  39.  
  40. /*]]>*/
  41. </head>
  42. <div>
  43. <div id="col1">
  44. columna 1 xxxxxxx
  45. </div>
  46. <div id="col2">
  47. columna 2 1024px
  48. </div>
  49. <div id="col3">
  50. columna 3 xx
  51. </div>
  52. </div>
  53. </body>
  54. </html>

De todas formas está muy limitado el esquema por lo del div de 1024px

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 13/01/2012, 23:36
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 5 meses
Puntos: 36
Respuesta: Maquetación a 3 columnas

Cita:
Iniciado por pixel1 Ver Mensaje
Hola estoy maquetando un proyecto a 3 columnas, el punto es que necesito que la columna central siempre tenga un tamaño fijo: 1024px y las columnas izquierdas y dercha se puedan estirar dependiendo la resolucion; estoy haciendo una prueba así.

Código HTML:
<div id="container1">
    <div id="col1">Column 1</div>
    <div id="col2">Column 2</div>
    <div id="col3">Column 3</div>
</div> 
Con el siguiente css:

Código HTML:
#container1 {
    float:left;
    width:100%;
}
#col1 {
    float:left;
    width:30%;
    background:red;
}
#col2 {
    float:left;
    width:40%;
    background:yellow;
}
#col3 {
    float:left;
    width:30%;
    background:green;
}
El problema es que como todas las columnas están definidas en porcentaje, si cambio la resolucion entonces todo crece en proporcion.
no se puede usar los tamaño que quieres, en una laptop no se va a ver bien, ni en una pantalla de oficina, solo ve va a ver bien en una pantalla de un diseñador.

el estandar de ancho es 1024 y eso descuentale es scroll ponle 980.
lo que podrías hacer si quieres ocupar toda la pantalla
ponerle algo parecido a esto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style type="text/css">
html , body{ margin:0; width:100%;}
#contenedor{width:100%; background-color:#F00; min-width:1000px;}
.flotante{float:left;}
.limpiar{clear:both;}
#izquierda{
width:30%;min-width:300px;}
#centro{
width:40%;min-width:400px;}
#izquierda{ background-color:#0F0;}
#centro{ background-color:#03C;}
#derecha{ background-color:#CF0; width:30%;}
</style>
</head>

<body>
<div id="contenedor">
<div class="flotante" id="izquierda">contenido izquierda</div>
<div class="flotante" id="centro">contenido centro</div>
<div class="flotante" id="derecha">contenido derecha </div>
<div class="limpiar"></div>
</div>
</body>
</html>
  #8 (permalink)  
Antiguo 14/01/2012, 06:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Maquetación a 3 columnas

Cita:
Iniciado por ocesitaro Ver Mensaje

no se puede usar los tamaño que quieres, en una laptop no se va a ver bien, ni en una pantalla de oficina, solo ve va a ver bien en una pantalla de un diseñador.
No hay ningún impedimento para que un los tamaños que propone el ejemplo funcionen en una laptop (el problema sigue siendo la necesidad de una columna central de 1024px fijos), y las pantallas de los diseñadores son iguales a la de todo el resto de los mortales. Finalmente te diría que el "area segura" para resoluciones de 1024 x 768 es de, como mucho, 975px y no de 980px


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 14/01/2012, 10:03
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 11 meses
Puntos: 539
Olvide mi sugerencia anterior.
Eta sólo una breve indicación de por dondre podría enfocarlo. Supuse, creo que mal, que tanto su planteamiento del layout como su conocimiento de css estarían más avanzados.

Creo, por cómo se ha desarrollado el hilo, que debería definir mejor qué y porqué quiere hacer y cómo se debería comportar en situaciones distintas su layout.
Como sugerencia, los valores mínimos y máximos, así como los relativos (%) a la ventana real.
Lo anterior, junto al uso del display: inline-block frente al flotado y lo ya dicho, un planteamiento en sus anchuras seguramente le faciliten el trabajo.
  #10 (permalink)  
Antiguo 14/01/2012, 16:23
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 5 meses
Puntos: 36
Respuesta: Maquetación a 3 columnas

Cita:
Iniciado por emprear Ver Mensaje
No hay ningún impedimento para que un los tamaños que propone el ejemplo funcionen en una laptop (el problema sigue siendo la necesidad de una columna central de 1024px fijos), y las pantallas de los diseñadores son iguales a la de todo el resto de los mortales. Finalmente te diría que el "area segura" para resoluciones de 1024 x 768 es de, como mucho, 975px y no de 980px


Saludos
me refiero al 1024 de ancho

Etiquetas: columnas, tamaño, fondo
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 02:58.