Foros del Web » Creando para Internet » CSS »

Float loco en firefox !

Estas en el tema de Float loco en firefox ! en el foro de CSS en Foros del Web. Hola a todos ! Me estoy volviendo loco tratando de ver donde esta el error. tengo una pagina que anda bien tanto en Chrome como ...
  #1 (permalink)  
Antiguo 08/04/2011, 20:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 12 años, 6 meses
Puntos: 11
Float loco en firefox !

Hola a todos !
Me estoy volviendo loco tratando de ver donde esta el error.
tengo una pagina que anda bien tanto en Chrome como en IE 7 y 8, pero no en firefox !
Lo mas raro es que con el firebug si apago algunos CSS y los vuelvo a encender (o sea que en definitiva no cambio nada) se arregla todo !!

Es muy extraño, en principio me parece que hasta podría ser un error de Firefox.
Pero creo que tambien puede estar relacionado con esto:

Código:
<!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>TITULO</title>

	

   
    
    <style>
	html, body {  
     	height:100%;  
    	 margin:0;  
	} 
	
	body {
		background-color: #e9e9e9; 
		position:relative;  
		min-width:960px;  
		min-height:300px;
	}
	</style>
    
</head>



<body>


<div style="height:40px;">
	<div style="float:left;"><h1>ALGO</h1>
    </div>
</div>
<div style="position:relative; top:50%; margin-top:-150px;">
<div>
<ul>	
	<li style="float:left">
    <div style="width:190px; height:211px;background:#CCC;">guia visual</div>  
	</li>
</ul>
</div>
</div>



</body>
</html>
En el codigo de arriba trate de dejar lo mas limpio todo para que solo se vea el problema:



(en el post se ve algo chica, aca esta a tamaño completo: http://www.imagengratis.org/images/capturacssloc.jpg )

En la captura de arriba es lo que muestra el HTML, como se puede ver ahi lo que necesito es que el cuadro gris este justo donde termina la zona amarilla (zona pintada por firebug).
Pero no esta ahi, y es culpa de los dos "float:left"
Probe poner divs con clear pero no se arregla.

Alguien sabe como solucionarlo?

Gracias !!
  #2 (permalink)  
Antiguo 08/04/2011, 21:12
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 12 años, 6 meses
Puntos: 11
Respuesta: Float loco en firefox !

Encontré una solución, agregar

Código CSS:
Ver original
  1. overflow: hidden;

al primer div, asi queda:

Código HTML:
Ver original
  1. <div style="height:40px; overflow:hidden;">
  2.     <div style="float:left;"><h1>ALGO</h1>
  3.     </div>
  4. </div>

Es ya sabido que el overflow hidden corta los floats pero no me queda del todo claro porque se ve como se ve sin el overflow...
ademas que con clear no lo pude arreglar no se por que.

Si alguien entiende mejor que está pasando me sería de mucha ayuda y seguro a alguien más también le va a servir.

Saludos !
  #3 (permalink)  
Antiguo 09/04/2011, 03:54
 
Fecha de Ingreso: marzo-2011
Mensajes: 119
Antigüedad: 6 años, 9 meses
Puntos: 9
Respuesta: Float loco en firefox !

Hola

Hice una prueba y en primera en todos los exploradores el cuadro gris me aparecia en la misma posicion y en este div creo que es el problema


<div style="position:relative; top:50%; margin-top:-150px;">


la position relativ hace que maje aun mas ya que le estas poniendo un top de 50% y no entiendo por que despues le das un margin-top:-150px, quiza ahi puedes encontrar la solucion
  #4 (permalink)  
Antiguo 09/04/2011, 08:45
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 12 años, 6 meses
Puntos: 11
Respuesta: Float loco en firefox !

Hola @saul, si el codigo que puse se ve igual en todos los navegadores. Mi codigo original es el que se ve mal en firefox unicamente, pero decidi limpiarlo porque me parecio demasiado extenso para ponerlo (ademas que tiene bastante interaccion JS).

El codigo resumido que puse me parece que es el problemático (que por alguna razon los otros navegadores "arreglan" en mi codigo original).

Comento mejor de donde viene esee div:
La idea es centrar verticalmente un menu. Al principio lo hice con el clasico position:absolute. Pero decidi cambiarlo a un esquema donde todo sea relative.
(así podría agregar cajas de mensajes arriba de todo y toda la web simplemente se desplazaria hacia abajo)

de ahi que ese div tenga un top:50% y un margin-top: negativo para compensar su alto y tambien el alto de los elementos de arriba (ya que es relative no absolute).

El problema es que ahora al ser relative se ve afectado por los float que hay antes (y el propio float que tiene adentro el div centrado). Y la unica forma de romper eso fue agregando un overflow: hidden al div anterior.

Lo bueno es que ya funciona, lo malo es que no entiendo muy bien por que :P

Etiquetas: firefox, float, loco
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 11:07.