Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Problema con flexbox y navegadores

Estas en el tema de Problema con flexbox y navegadores en el foro de CSS en Foros del Web. Hola, estoy haciendo mi primera prueba con el uso de Flexbox. Básicamente lo que quiero hacer es 4 bloques, uno encima del otro, con un ...
  #1 (permalink)  
Antiguo 27/08/2013, 06:04
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Pregunta Problema con flexbox y navegadores

Hola, estoy haciendo mi primera prueba con el uso de Flexbox. Básicamente lo que quiero hacer es 4 bloques, uno encima del otro, con un 25% de altura cadauno, o sea, que me llena la pantalla.

* En Safari (OSX & iOS) me funciona, también en Chrome.
* En Firefox me sale 4 bloques pero repartidos horizontalmente en 4 bloques, lo mismo me pasa con Opera.
* En Andrioid, Windows Phone, e Internet Explorer no lo he probado.

Aquí os dejo mi código:

Código HTML:
Ver original
  1. <section id="sergi"></section>
  2. <section id="projects"></section>
  3. <section id="social"></section>
  4. <section id="email"></section>
  5. </body>

Código CSS:
Ver original
  1. html{
  2.    height: 100%;
  3. }
  4.  
  5. body {
  6.    display: -webkit-box;   /* OLD: Safari,  iOS, Android browser, older WebKit browsers.  */
  7.    display: -moz-box;      /* OLD: Firefox (buggy) */
  8.    display: -o-box;
  9.    display: -ms-flexbox;   /* MID: IE 10 */
  10.    display: -webkit-flex;  /* NEW, Chrome 21+ */
  11.    display: flex;          /* NEW: Opera 12.1, Firefox 22+ */
  12.    margin: 0;
  13.    height: 100%;
  14.    width: 100% /* needed for Firefox */
  15.    flex-direction: column;
  16.    -webkit-flex-direction: column;
  17.    -moz-flex-direction: column;
  18.    -webkit-box-orient: vertical;
  19.    -moz-box-orient: vertical;
  20.    -o-box-orient: vertical;
  21. }
  22.  
  23. section {
  24.    height: 25%;
  25.    width: 100%;
  26. }
  27.  
  28. #sergi{
  29.    background-color: #e5e5e5;
  30. }
  31.  
  32. #projects {
  33.    background-color: #cbcaca;
  34. }
  35.  
  36. #social {
  37.    background-color: #aeacac;
  38. }
  39.  
  40. #email {
  41.    background-color: #8a8989;
  42. }

Alguien me puede decir que me falta añadir para que se me muestre igual que en Safari y Chrome en el resto de navegadores? Quiero que se amontonen uno encima del otro ocupando el 100% del navegador.

Aquí está la web para que lo podáis ver: http://www.sergibeltran.com

Saludos!
  #2 (permalink)  
Antiguo 27/08/2013, 07:35
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: Problema con Flexbox y navegadores

Yo normalmente no suelo usar body para la maquetación. Porque por una cosa u otra siempre da problemas.

Luego añade siempre los atributos sin prefijos, porque más de una vez no existen con y funcionan sin ellos. Por ejemplo:

Código CSS:
Ver original
  1. flex-direction: column;

Que así si funciona en Firefox.

Pero lo dicho, lo de andar tocando el body () no es cosa buena.

Para los demás navegadores no sabría decirte, bueno, IE es el que falta. Sigo sin instalarlo.

Edito: Veo que si que lo tenías puesto, pero por alguna razón Firefox no lo aplica. Cámbialo por esto:

Código CSS:
Ver original
  1. -webkit-flex-direction: column;
  2. -moz-flex-direction: column;
  3. flex-direction: column;

De hecho la costumbre es ponerlo así, primero los prefijos propietarios y luego los buenos.

Última edición por pzin; 27/08/2013 a las 07:44
  #3 (permalink)  
Antiguo 28/08/2013, 02:04
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con flexbox y navegadores

Hola Pzin, primero de todo gracias por contestar, ya está el tema resuelto! :)

Como me comentabas me faltaba poner el flex-direction sin prefijo, de esa manera tanto en Opera com Firefox me lo han reconocido, y me mostraba lo que yo me esperaba.

Por otra parte tendré en cuenta lo que me has comentado de la etiqueta body.

Un saludo, y gracias ;)
  #4 (permalink)  
Antiguo 28/08/2013, 03:03
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Pregunta Respuesta: Problema con Flexbox y navegadores

Cita:
Iniciado por pzin Ver Mensaje
Yo normalmente no suelo usar body para la maquetación. Porque por una cosa u otra siempre da problemas.

Luego añade siempre los atributos sin prefijos, porque más de una vez no existen con y funcionan sin ellos. Por ejemplo:

Código CSS:
Ver original
  1. flex-direction: column;

Que así si funciona en Firefox.

Pero lo dicho, lo de andar tocando el body () no es cosa buena.

Para los demás navegadores no sabría decirte, bueno, IE es el que falta. Sigo sin instalarlo.

Edito: Veo que si que lo tenías puesto, pero por alguna razón Firefox no lo aplica. Cámbialo por esto:

Código CSS:
Ver original
  1. -webkit-flex-direction: column;
  2. -moz-flex-direction: column;
  3. flex-direction: column;

De hecho la costumbre es ponerlo así, primero los prefijos propietarios y luego los buenos.
Hola, me ha surgido otro duda.

Ahora utilizando la propiedad justify-content: space-around, me funciona en todos los navegadores menos en Safari (tanto OSX como iOS).

He estado informándome y Safari es compatible con la versiín antigua (la del 2009) donde no existe esa propiedad, donde si existe si que es en la versión híbrida(2011) y en la moderna(2012) pero Safari no es compatible.

Entonces, mi pregunta es no hay "cojones" de hacer "justify-content: space-around" o similar sin tener que hacer márgenes en Safari?

Saludos

Etiquetas: Ninguno
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 05:15.