Foros del Web » Creando para Internet » CSS »

Problemas con un diseño fluid

Estas en el tema de Problemas con un diseño fluid en el foro de CSS en Foros del Web. Tengo una web con un header y footer que deben quedar visibles todo el tiempo, para lo cual utilizo position:fixed. En el centro tenemos el ...
  #1 (permalink)  
Antiguo 14/02/2012, 07:27
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Problemas con un diseño fluid

Tengo una web con un header y footer que deben quedar visibles todo el tiempo, para lo cual utilizo position:fixed.

En el centro tenemos el contenido y debe añadir una barra de scroll para navegarlo cuando sea necesario.

Mi problema es que el contenido se adapta bien en la parte superior, pero en la parte inferior no, queda contenido oculto. Para que no pase, le di height: 75%, pero obviamente en resoluciones grandes queda muy mal (deja un espacio en blanco debajo).

Si le doy 100%, queda contenido debajo de la capa del footer.

Cómo puedo hacer para que ese div adapte su alto al espacio que queda libre entre header y footer?


Código CSS:
Ver original
  1. html, body {
  2. height: 100%;
  3. overflow:hidden;
  4. }
  5. #top-header {
  6. height: 60px;
  7. width: 940px;
  8. padding: 10px 10px 20px 10px;
  9. background-image: url(../images/border-header.png);
  10. background-repeat: repeat-x;
  11. background-position: bottom center;
  12. position: fixed;
  13. top: 0;
  14. }
  15. #content-wrapper {
  16. width: 960px;
  17. position:relative;
  18. top: 100px;
  19. height: 75%;
  20. overflow:auto;
  21. display:block;
  22. margin: 0 0 20px 0;
  23. padding: 30px 0 20px 0;
  24. }
  25. #footer {
  26. position: fixed;
  27. bottom: 0;
  28. width: 960px;
  29. height:45px;
  30. list-style-type:none;
  31. background: white;
  32. border-top: 7px solid #557db8;
  33. }
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #2 (permalink)  
Antiguo 14/02/2012, 09:16
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: Problemas con un diseño fluid

Cita:
Iniciado por Nekko Ver Mensaje
Tengo una web con un header y footer que deben quedar visibles todo el tiempo, para lo cual utilizo position:fixed. Añádir z-index (principalmente por el header)

En el centro tenemos el contenido y debe añadir una barra de scroll para navegarlo cuando sea necesario. ¿El scroll debe ser en la caja del contenido o el de la ventana (html/body)?

Mi problema es que el contenido se adapta bien en la parte superior, pero en la parte inferior no, queda contenido oculto. Para que no pase, le di height: 75%, pero obviamente en resoluciones grandes queda muy mal (deja un espacio en blanco debajo). No necesita altura. Los div´s crecen en función de su contenido. Excepto si está fuera del flujo del html (limpiar float, clear...)

Si le doy 100%, queda contenido debajo de la capa del footer.

Cómo puedo hacer para que ese div adapte su alto al espacio que queda libre entre header y footer? Al sacar su encabezado y pie de página del discurrir natural del html (fixed) no son tenidos en cuenta al dibujar el resto de elementos (su contenedor). Así que debe hacer que éste último deje el espacio correspondiente a los fixed.
En la parte superior lo consigue con el top: 100px. Eso hará que esa caja se desplace sólo a efectos "visuales". Pero su presencia a efectos del flujo será la que le corresponde. (Otra cosa es que utilizase esas propiedades (top|left|right|bottom) para darle tamaño)
Yo optaría por añadir tal margen superior e inferior para que siempre (con más o menos contenido) deje un espacio libre equivalente al header y footer entre el inicio y final de su contenido y las cajas fixed.
__________________
Por una web con mucho estilo
+++ CUENTA ABANDONADA. ¿la quieres? +++
  #3 (permalink)  
Antiguo 14/02/2012, 10:12
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problemas con un diseño fluid

Muchas gracias kseso! Me diste algunas cosas para probar, aunque ahora caigo en que la información que brindé resulta insuficiente, ya que hay otro contenedor alrededor de header y content-wrapper.

El scroll debería quedar sólo en la zona de contenido. Aquí subí provisoriamente lo que ando haciendo.
http://sitefun.com.ar/member-portal/editorpage.html

Críticas bienvenidas, sé que está plagado de errores.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #4 (permalink)  
Antiguo 14/02/2012, 15:36
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: Problemas con un diseño fluid

Hay algunas cosillas...

Mira esta estructura, especialmente el css y compara las diferencias con la tuya. En especial con la barra del scroll (que se te "esconde").
Sólo visto en ff. Y suprimido el nav
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8">
  3. <title>Kseso? jugando con css</title>
  4. <style type="text/css">
  5. * {margin:0; padding:0;}
  6. html, body {
  7.   background: #CD3335;
  8.   height: 100%;
  9.   margin: 0;
  10.   overflow: hidden;
  11. }
  12. #page-wrapper {
  13.   width: 968px;
  14.   margin: 0 auto;
  15.   background: #FF9966;
  16. }
  17. #header {
  18.   background: #0060F0;
  19.   position: relative;
  20.   height: 50px;
  21. }
  22. #footer {  
  23.   background: #0060F0;
  24.   position: absolute;
  25.   bottom: 0;
  26.   height: 50px;
  27.   width: 968px;
  28. }
  29. #content-wrapper {
  30.   background: #FF9966;
  31.   bottom: 50px;
  32.   overflow: auto;
  33.   position: absolute;
  34.   top: 50px;
  35.   width: 968px;
  36. }
  37.  </style>
  38. </head>
  39. <div id="page-wrapper">
  40.     <div id="header">
  41.     </div>
  42.     <div id="content-wrapper">
  43.       <section>
  44. <p>Tempus Vivamus sollicitudin Morbi scelerisque pede velit mus egestas eros dui. Sed condimentum metus Donec ante convallis ut consectetuer nunc senectus pretium. Ornare congue massa est consequat tortor congue dolor fermentum nibh wisi. Et Curabitur pellentesque convallis.</p>
  45.       <p>Lorem ipsum dolor sit amet consectetuer Nunc Quisque wisi tincidunt molestie. Massa Nullam cursus Curabitur Vestibulum Nunc pede auctor cursus lacus ante. Aliquam magnis Duis tincidunt eget sollicitudin tincidunt laoreet ac dolor ac. Nam.</p>
  46. <p>Et eros laoreet mi pretium sem mauris at malesuada id eleifend. Pretium sed neque congue quis eleifend amet Pellentesque dictumst semper tellus. Enim nibh et commodo laoreet natoque Donec In non Phasellus Quisque. At Curabitur faucibus elit pede dolor elit quis pretium tortor turpis. Elit orci pretium risus semper at.</p>
  47. <p>Lorem congue ut Curabitur tortor pretium ipsum et Integer risus Donec. Auctor et sit cursus mauris ullamcorper amet et id consectetuer urna. Consequat nibh sapien velit leo nascetur massa est tristique tincidunt id. Pellentesque condimentum Duis velit Vivamus nibh natoque Curabitur congue nibh Vestibulum. Id nec vel Vivamus condimentum massa pharetra dis dolor justo consequat. Gravida velit Lorem et nibh Curabitur id hendrerit ac nonummy laoreet. Justo lobortis tincidunt nunc cursus lorem ac cursus lobortis Lorem vel. Pretium metus tempus mollis wisi.</p>
  48. <p>Tortor consequat nibh Morbi nec senectus suscipit justo fringilla porttitor Nam. Vestibulum id sem massa condimentum Morbi volutpat mauris Curabitur laoreet porttitor. Consectetuer fringilla fermentum semper vitae eros ullamcorper amet rutrum lorem habitasse. Dui libero laoreet Quisque turpis semper laoreet mi sed adipiscing semper. Consequat ac sem nec et vel ullamcorper volutpat venenatis Phasellus Nunc. Lorem scelerisque Aliquam turpis Nunc sit consequat vel vitae augue accumsan. Et mauris vitae volutpat Phasellus.</p>
  49. <p>Sed condimentum dapibus dui In et Integer enim penatibus et euismod. At laoreet sollicitudin orci et at sem volutpat ac tempor arcu. Magna nulla nulla consequat interdum eu Lorem in tempor cursus massa. Sed semper adipiscing sed gravida eget id urna interdum urna sit. Pretium semper habitant sed cursus quis consequat in Donec Aliquam augue. Nibh tincidunt dui In magna molestie tellus malesuada nibh pretium magnis. At metus turpis magna adipiscing sit ut sed egestas malesuada Nunc. Quis dolor fringilla eget molestie ac adipiscing vel ridiculus cursus mollis. Dui accumsan mauris justo convallis semper pede vel mauris at convallis. </p>
  50. <p>Elit Nulla nulla et urna congue lorem et nulla enim dignissim. Interdum quis consectetuer in quis Pellentesque augue ac turpis justo tincidunt. Congue velit nulla et ac quis leo in pede vel pellentesque. Orci Aenean pellentesque nunc nibh Donec feugiat hendrerit id semper senectus. Sed malesuada montes risus at at montes ac semper velit leo. Eu ullamcorper fringilla accumsan Aenean aliquam Vestibulum Vivamus consequat adipiscing tellus. Tellus convallis Vestibulum quis Suspendisse suscipit Morbi ac Aenean nibh laoreet. Fermentum tellus cursus Vestibulum condimentum odio tellus Quisque Nulla quis pede. Vivamus metus ipsum orci risus Nam sed justo ac.</p>
  51. <p>Nibh Nullam auctor dapibus faucibus purus Nullam Duis tincidunt elit vel. Pellentesque Sed mauris gravida elit elit dolor lacinia Curabitur Ut et. Dui laoreet malesuada Nam sagittis pede id Ut Pellentesque Donec Mauris. Elit elit et dui Nulla gravida consectetuer et congue Proin risus. Orci mus non Aenean nulla Nullam pretium tortor non libero convallis. Ipsum et tincidunt at interdum nec sem quis nibh justo dignissim. Curabitur fringilla dui tincidunt penatibus nibh tellus tristique neque ultrices Curabitur. Lacinia Sed ligula Vivamus amet ut vitae pharetra consequat eros Sed. Et dictum enim Lorem Donec Nulla.</p>
  52. <p>Tempus Vivamus sollicitudin Morbi scelerisque pede velit mus egestas eros dui. Sed condimentum metus Donec ante convallis ut consectetuer nunc senectus pretium. Ornare congue massa est consequat tortor congue dolor fermentum nibh wisi. Et Curabitur pellentesque convallis.</p>
  53. <p>FIN</p>
  54.       </section>        
  55.     </div>    
  56.     <div id="footer">
  57.     </div>
  58. </div>
  59. </body>
  60. </html>
__________________
Por una web con mucho estilo
+++ CUENTA ABANDONADA. ¿la quieres? +++
  #5 (permalink)  
Antiguo 16/02/2012, 04:29
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problemas con un diseño fluid

Gracias! Ahora me diste un poco mas clara sobre el asunto.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #6 (permalink)  
Antiguo 16/02/2012, 16:39
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problemas con un diseño fluid

Asumiendo ( de tu ejemplo) que el contenido del header y footer es estático y podés determinar que valores en porcentajes tenés que asignarles, el sobrante se lo das al contenido

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5.  
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8.  
  9. html, body{
  10. height: 100%;
  11. padding: 0;
  12. margin: 0;
  13. }
  14.  
  15. div{
  16. width: 960px;
  17. margin: 0 -480px;
  18. left: 50%;
  19. position:absolute;
  20. overflow: hidden;
  21. }
  22.  
  23. #header{
  24. top: 0;
  25. height: 15%;
  26. }
  27.  
  28. #footer{
  29. bottom: 0;
  30. height: 10%;
  31. }
  32.  
  33. #contenido{
  34. overflow-y: scroll;
  35. height: 75%;
  36. /* el top ara contenido = al height del header */
  37. top: 15%;
  38. }
  39.  
  40. /*]]>*/
  41. </head>
  42. <div id="header">
  43. header
  44. </div>
  45. <div id="contenido">
  46. Lorem ipsum dolor sit amet, longa sustineat in deinde duas horrido in fuerat est
  47. </div>
  48. <div id="footer">
  49. footer
  50. </div>
  51. </body>
  52. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 18/02/2012, 08:28
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problemas con un diseño fluid

Hola emprear! El problema con asignar valores con porcentajes al header y footer es que no en todos los monitores se verá bien. Un 10% puede andar bien en mi resolución, pero en una resolución mucho mayor obviamente dejará espacios en blanco.

Utilicé el código de kseso? y quedó genial. No lo colgué en ningún lado porque el proyecto se volvió bastante pesado y me hicieron cambiar los nombres de las clases y ids, pero salvo por eso el código no varía del que usé de acá salvo por alguna medida.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Etiquetas: contenido, diseño, html, 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 07:24.