Comunidad de diseño web y desarrollo en internet online

Problema con Firefox, height y min-height (porcentajes);

Citar            
MensajeEscrito el 30 Nov 2006 10:35 pm
Aunque parezca mentira el problema es de Firefox y no de IE(en IE no hay ningun problema ya que no entiende min-height, y toma la altura como la altura minima).

Bien, el otro dia me dispuse ha realizar una maquetacion totalmente liquida, es decir, los anchos y altos de los divs deberian siempre estar en porcentajes.Me decidi por crear un contenedor de la siguiente manera:

Código :

#contenedor{
 width:80%;
 height:100%;
 margin:0 10%;
 background-color:#FFCCCC;
}

Pues bien, esto no funciona ya que la altura en porcentaje necesita de un elemento padre o elemento contenedor con una altura definida por lo que:

Código :

html,body{      //Firefox...
 height:100%;
}

* html div{       //IE
 height:100%;
}


De esta manera mi contenedor se expande por todo lo alto de la pantalla.Sin embargo cuando dentro del #contenedor se pone mucho texto, es decir, la cantidad necesaria para que salga el scroll, el contenido se sale fuera del #contenedor:

Código :

<div id="contenedor">
mucho texto....
</div>


Por lo que:

Código :

div{
min-height:100%;
}


De esta manera el #contenedor medira el 100% de la pagina y si el contenido es mas grande, el #contenedor se expandira con el.
Pues bien, hasta aki todo maravilloso, pero entonces me dispongo a incorporar un header de la siguiente manera:

Código :

#header{
 width:100%;
 height:20%;
 background-color:#FF0000;
}

<div id="contenedor">
<div id="header"></div>
</div>


En Firefox aparace el header como si midiese 100%, es decir ocupando toda la pantalla y el contenido de #contenedor empieza inmediantamente despues.
Despues quite la altura minima a todos los divs y se la puse solo a #contenedor:

Código :

div{
}

#contenedor{
 width:80%;
 height:100%;
 min-height:100%;
 margin:0 10%;
 background-color:#FFCCCC;
}


Despues de ver que esto no funcionaba me cage por primera vez y sin que sirva de precedente en el Firefox, ya que el contenido vuelve a salirse por fuera del #contenedor.

La verdad es que no se que hacer pero seria muy feliz si alguien me diese una pista o incluso la solucion.
Muchas gracias por anticipado.






:crap:

BOFH Note: usa las etiquetas de código.

Por Pitxon

38 de clabLevel



Genero:Masculino  

Madrid

firefox
Citar            
MensajeEscrito el 13 Dic 2006 03:54 pm

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 13 Dic 2006 04:29 pm
te recomiendo usar PX y no % yo lo hagoi asi y no tengo problemas no uso nada en %

:wink:

arregle mi problema

^^

Por abaddoncito

8 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Dic 2006 10:48 pm

abaddoncito escribió:

te recomiendo usar PX y no % yo lo hagoi asi y no tengo problemas no uso nada en %

:wink:

arregle mi problema

^^
¿en serio es tan díficil que alguien comprenda porque lo está haciendo en porcentajes?
Sigh, lee los posts completos ¬¬

/offtopic

Por Alan

470 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 13 Dic 2006 11:10 pm
Muchas gracias Johnny, esos links me han sido de gran ayuda, Si alguien sabe de alguna pagina maquetada totalmente con medidas a porcentaje, estaria muy interesado en visitarla muchas gracias

Por Pitxon

38 de clabLevel



Genero:Masculino  

Madrid

firefox
Citar            
MensajeEscrito el 13 Dic 2006 11:26 pm
En los artículos te vienen páginas de ejemplo realizadas con los mismos métodos, léelos más detenidamente, las prisas y el aprendizaje son enemigas :wink:

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 14 Dic 2006 12:02 pm
sé de muchas con medidas en porcentajes horizontales, pero verticales no he visto. Imagino que debe ser extremadamente complejo manejar imagenes de fondo con medidas en porcentajes en ambos sentidos.
Por otro lado, no creo que sea necesario, al menos no, poner todo en porcentajes (hablo de las alturas).

Por Ramm

BOFH

3152 de clabLevel

6 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell REC Héroes

London, UK

firefox
Citar            
MensajeEscrito el 14 Dic 2006 12:35 pm
de acuerdo volvere a leermelo mas tranquilamente

Por Pitxon

38 de clabLevel



Genero:Masculino  

Madrid

firefox
Citar            
MensajeEscrito el 04 Jul 2007 09:53 am
Hola Pitxon,

Tengo el mismo problema con las alturas de capa al 100%.

Con Firefox sólo me hace el 100% del espacio visible, si la página tiene scroll no expande la capa por debajo de ese espacio visible.

¿Has lo grado solucionarlo?, porque yo me estoy volviendo majareta tanto darle vueltas, y ninguno de los hacks ni trucos que encuentro me sirver.

Por favor, pido ayuda encarecidamente. Adjunto enlace, HTML y CSS del meollo:

URL
----
www.can-simo.com/maqueta

CSS
----

Código :

/* ***************
   *   GENERAL   *
   *************** */
html, body {
   height:100%;
   margin:0 auto;
    padding:0;
   text-align:center;
}

body {
   background:#091b06 url("/maqueta/images/common/body_back.gif") top repeat-x;
}


body, h3, p, a {
   font:85% 'Trebuchet MS', Arial, Geneva, Verdana, helvetica, sans-serif;
   color:#FFF;
}

/* **************
   *   LAYOUT   *
   ************** */
#pagina {
   background:#091b06 url("/maqueta/images/common/pagina_back.gif") top repeat-y;
   margin:0 auto;
   min-height:100%;
   height:100%;
   height:auto !important;
   text-align:center;
   width:800px;
}

#cabecera{
   background:#000 url("/maqueta/images/common/cabecera_back.gif") top no-repeat;
   height:145px;
   font-size:1.2em;
}

#contenido{
   width:auto;
   padding:23px;
}

#principal {
   width: 440px;
   float: left;
   text-align:left;
   word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
   overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */
}

#lateral {
   width: 287px;
   float: right;
   text-align:left;
   color: #555544;
   word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
   overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */
}

.separadorHorizontal {
   display:block;
   background:#000 url("/maqueta/images/common/back_border_central.gif") top repeat-x;
   height:1px;
}



/* ************
   *   LOGO   *
   ************ */
#logoHeightSep {
   height:26px;
}

#logo {
   background:url("/maqueta/images/common/logo_back.gif") top repeat-x;
   width:755px;
   margin:0 auto;
}

#logo a,
#logo a:visited {
   color:#154505;
   font-size:0.70em;
   text-decoration:none;
   padding:0px 5px 0px 10px;
}

#logo a:hover {
   text-decoration:underline;
}

#logo .separator {
   background:url("/maqueta/images/common/separator_menu.gif") top repeat-y;
}


/* **********************
   *   MENU PRINCIPAL   *
   ********************** */
#menuPrincipalHeightSep {
   height:18px;
}

#menuPrincipal {
   text-align:center;
}

#menuPrincipal a,
#menuPrincipal a:visited {
   font-size:0.80em;
   color:#FFF;
   text-decoration:none;
}

#menuPrincipal a:hover {
   text-decoration:underline;
}

#menuPrincipal a.selected {
   font-weight:bold;
   text-decoration:underline;
}

#menuPrincipal .separator {
   background:url("/maqueta/images/common/separator_menu.gif") top repeat-y;
   height:13px;
   padding:0em .55em;
}

/* **************
   *   BLOQUE   *
   ************** */
#principal .bloque {
  border-bottom:1px dashed #4c4c4c;
  padding-bottom:1.5em;
 }
  
#lateral .bloque {
  border-bottom:1px dashed #000;
  padding-bottom:.4em;
 }

.bloque h3 a {
   color:#2c8a1c;
   font-size:1.2em;
   font-weight:bold;
   text-decoration:none;
}

#principal .bloque h3 a {
   color:#2c8a1c;
}

#lateral .bloque h3 a {
   color:#91ae0e;
}

.bloque h3 a:hover {
   text-decoration:underline;
}

.bloque  p {
   font-size:0.80em;
   line-height:1.8em;
}

.bloque img {
   display:inline;
   float:left;
}

#principal .bloque img {
   padding:0px 20px 10px 0px;
}

#lateral .bloque img {
   padding:0px 10px 5px 0px;
}

.bloque .bloqueEnlace a {
   font-size:1em;
   cursor:pointer;
   text-decoration:none;
}

#principal .bloque .bloqueEnlace a {
   color:#91ae0e;
   border:#91ae0e dashed;
   border-width:0px 0px 1px 0px;
}

#lateral .bloque .bloqueEnlace a {
   color:#afd7bd;
   border:#afd7bd dashed;
   border-width:0px 0px 1px 0px;
}

.bloque .bloqueEnlace a:hover {
   text-decoration:none;
}

#principal .bloque .bloqueEnlace a:hover {
   border:#000 dashed;
   border-width:0px 0px 1px 0px;
}

#lateral .bloque .bloqueEnlace a:hover {
   border:#154505 dashed;
   border-width:0px 0px 1px 0px;
}

/* ********************
   *   CAJA LATERAL   *
   ******************** */
#lateral #box {
   width:100%;
   background-color:#154505;
}

#lateral #boxCornerTL,
#lateral #boxCornerTR,
#lateral #boxCornerBL,
#lateral #boxCornerBR {
   height:13px;
   width:49%;
}

#lateral #boxCornerTL {
   float:left;
   background:#154505 url(/maqueta/images/common/box_1_top_left.gif) left no-repeat;
}

#lateral #boxCornerTR {
   float:right;
   background:#154505 url(/maqueta/images/common/box_1_top_right.gif) right no-repeat;
}

#lateral #boxCornerBL {
   float:left;
   background:#154505 url(/maqueta/images/common/box_1_bottom_left.gif) left no-repeat;
}

#lateral #boxCornerBR {
   float:right;
   background:#154505 url(/maqueta/images/common/box_1_bottom_right.gif) right no-repeat;
}

#lateral #boxContent {
   width:auto;
   padding:20px 20px;
}



HTML
-----

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="es" xml:lang="es" xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta name="author" lang="es" content="Can Simó" />
      <title>Can Simó - Labrador Retriever</title>
      <link rel="stylesheet" type="text/css" media="screen" href="/maqueta/css/cansimo_test_10.css" />
   </head>
   <body class="inicio">

      <div id="pagina">
         <div id="cabecera">
            <div id="logoHeightSep"></div>
            <div id="logo">
               <table border="0" cellpadding="0" cellspacing="0" width="100%">
                  <tr>
                     <td><img src="/maqueta/images/common/header_1.gif" alt="Can Sim&oacute; - Labrador Retriever" border="0" /></td>
                     <td width="100%" align="right" valign="bottom" style="padding-bottom:2px;"><span class="separator">&nbsp;</span><a href="#">Contactar</a></td>

                     <td><img src="images/common/header_2.gif" width="7" height="69" border="0" /></td>
                  </tr>
               </table>
            </div>
            <div id="menuPrincipalHeightSep"></div>
            <div id="menuPrincipal"><a href="#" class="selected">Inicio</a><span class="separator">&nbsp;</span><a href="/cansimo/sobrenosotros.html">Can Simó</a><span class="separator">&nbsp;</span><a href="/nuestroschicos/rubics.html">Nuestros chicos</a><span class="separator">&nbsp;</span><a href="/nuestraschicas/aussie.html">Nuestras chicas</a><span class="separator">&nbsp;</span><a href="#">Camadas</a><span class="separator">&nbsp;</span><a href="#">Noticias</a><span class="separator">&nbsp;</span><a href="#">Album fotográfico</a><span class="separator">&nbsp;</span><a href="/laraza/historia.html">La raza</a><span class="separator">&nbsp;</span><a href="#">Enlaces</a></div>

         </div>
         <div id="destacadoCentral"><script language="javascript" type="text/javascript" src="/maqueta/js/embebed/central_home_1.js"></script></div>
         <div class="separadorHorizontal"></div>
         <div id="contenido">
            <div id="principal">
               <div class="bloque">
                  <h3><a href="#">Así es un Larador Retriever, conuslta el standard</a></h3>
                  <div class="bloqueTexto">

                     <p><a href="#" style="border:none;"><img src="images/inicio/imagen_borrar_1.jpg" alt="As&iacute; es un Labrador Retriever" border="0" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum eleifend sem at dui. Nulla felis.</p>
                  </div>
                  <div class="bloqueEnlace">
                     <p><a href="#">Consuta el estándar &raquo;</a></p>
                  </div>
               </div>
               <div class="bloque" style="border:none;">
                  <h3><a href="#">Antes de compartir tu vida con una moscota conoce qué es la tenencia responsable</a></h3>

                  <div class="bloqueTexto">
                     <p><a href="#" style="border:none;"><img src="images/inicio/imagen_borrar_2.jpg" alt="Conoce qué es la tenencia responsable" border="0" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum eleifend sem at dui. Nulla felis. Integer id lacus. Sed ac sem. Nulla facilisi. Nulla facilisi.</p>
                     <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
                  </div>
                  <div class="bloqueEnlace">
                     <p><a href="#">Más sobre la tenencia responsable &raquo;</a></p>
                  </div>

               </div>
            </div>
            <div id="lateral">
               <div id="box">
                  <div id="boxCornerTL"></div>
                  <div id="boxCornerTR"></div>
                  <div id="boxContent">
                     <div class="bloque">
                        <a href="#" style="border:none;"><img src="images/inicio/imagen_borrar_3.jpg" alt="Resultados de la Exposición Internacional de Vic" border="0" /></a>

                        <h3><a href="#">Resultados de la Exposición Internacional de Vic</a></h3>
                        <div class="bloqueTexto">
                           <p>Lorem ipsum dolor sit amet, consectetuer. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
                        </div>
                        <div class="bloqueEnlace">
                           <p><a href="#">Leer más &raquo;</a></p>
                        </div>

                     </div>
                     <div class="separadorArticulo"></div>
                     <div class="bloque" style="border:none;">
                        <h3><a href="#">Abiertas reservas para la nueva camada de Tula y El Niño</a></h3>
                        <div class="texto">
                           <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum eleifend sem at dui.</p>
                        </div>
                        <div class="bloqueEnlace">

                           <p><a href="#">Reservar mi cachorro &raquo;</a></p>
                        </div>
                     </div>
                  </div>
                  <div id="boxCornerBL"></div>
                  <div id="boxCornerBR"></div>
               </div>
            </div>

         </div>
      </div>
   </body>
</html>

Por zzz

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ene 2009 02:53 pm
Por lo que lei rapidamente tu problema, esto se soluciona poniendo al DIV que tiene contenido dinamico, height:auto y la propiedad "overflow:hidden" esto hace que se estire de acuerdo a su contenido y funcione en ambos exploradoes.


saludos, Agustin.

Por charco88

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Ene 2009 08:16 am

charco88 escribió:

Por lo que lei rapidamente tu problema, esto se soluciona poniendo al DIV que tiene contenido dinamico, height:auto y la propiedad "overflow:hidden" esto hace que se estire de acuerdo a su contenido y funcione en ambos exploradoes.


saludos, Agustin.

Discrepo bastante, overflow:hidden; no sirve para nada cuando las dimensiones están en auto, y aparte height:auto; es el valor que tiene por defecto el CSS del navegador cuando no se especifica lo contrario en la hoja de estilos, de modo que esa solución no cambiará nada en el problema.

Un saludo

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 25 Feb 2009 10:58 pm
Charco, tenía un problema similar al que exponía quien abrió el hilo, y lo solucioné perfectamente con el height: auto y el overflow: hidden. Funciona perfecto en FF y en IE, muchas gracias!!!
Así que Johnny deberás comerte tus palabras... :lol:

saludos

Por pedromagnus

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2010 03:17 am

escribió:

Así que Johnny deberás comerte tus palabras...


Creo que no es adecuado este tipo de comentarios en un foro de personas civilizadas.


Saludos.

Por Andres73

0 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Ene 2010 06:05 am
Menos mal que interveniste rápido, mirá si pasaba más tiempo... :P
Saludos.

PD: lo mío es pura ironía civilizada y sin ningún tipo de rencor.

Por pedromagnus

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Mar 2010 11:03 pm
[quote="charco88"]Por lo que lei rapidamente tu problema, esto se soluciona poniendo al DIV que tiene contenido dinamico, height:auto y la propiedad "overflow:hidden" esto hace que se estire de acuerdo a su contenido y funcione en ambos exploradoes.


saludos, Agustin.[/quote]

Gracias Agustín, pude solucionar este problema gracias a tu aporte.
Http://www.losmarziano.com
Saludos,
Gustavo

Por goc1966

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.