Foros del Web » Creando para Internet » CSS »

Problema con flex-box en Safari

Estas en el tema de Problema con flex-box en Safari en el foro de CSS en Foros del Web. Buenas tardes. Mi problema es el siguiente: Tengo una web basada en gran parte en módulos de display 'flex'. En Chrome, Firefox y Edge se ...
  #1 (permalink)  
Antiguo 15/03/2016, 09:50
liranan
Invitado
 
Mensajes: n/a
Puntos:
Problema con flex-box en Safari

Buenas tardes.

Mi problema es el siguiente: Tengo una web basada en gran parte en módulos de display 'flex'.

En Chrome, Firefox y Edge se ve perfectamente, ningún problema. Sin embargo, en Safari los elementos se apilan como si fueran divs sin ningún display aplicado.

He buscado bastante en internet y veo que es un problema común, sin embargo, me cuesta encontrar una solución que se aplique a mi caso.

En principio había escrito el código a mano pero visto que lo recomendaban por ahí bajé Autoprefix para Sublime Text, y la verdad que eso me ayudó a estabilizarlo en Firefox y Edge, pero no en Safari que sigue exactamente igual.

Pongo un ejemplo de código:

Código CSS:
Ver original
  1. #container > section{
  2.     display: -webkit-flex;
  3.     display: -ms-flexbox;
  4.     display: flex;    
  5.     -webkit-flex-direction: row;    
  6.         -ms-flex-direction: row;    
  7.             flex-direction: row;
  8.     -webkit-justify-content: space-around;
  9.         -ms-flex-pack: distribute;
  10.             justify-content: space-around;
  11.     position: relative;
  12. }

Esto genera unos bloques ordenados horizontalmente en todos los navegadores menos Safari, que los apila unos encima de otros.

Muchas gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 23/03/2016, 02:30
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con flex-box en Safari

Bueno, al final conseguí solucionar esto por mi cuenta, así que dejo la respuesta por si alguien en el futuro tiene el mismo problema:

Código CSS:
Ver original
  1. #container > section{
  2.     display: -webkit-box; /* Safari */
  3.     display: -webkit-flex;
  4.     display: -webkit-flexbox;
  5.     display: -ms-flexbox;
  6.     display: flex;  
  7.     -webkit-flex-direction: row;    
  8.     -ms-flex-direction: row;    
  9.     flex-direction: row;
  10.     -webkit-box-pack: justify; /* Safari */
  11.         -webkit-flex-pack: justify;
  12.         justify-content: space-around;
  13.     position: relative;
  14. }

Las etiquetas que tienen el comentario son las que hacen que la cosa funcione en Safari. El efecto no es exactamente el mismo porque no es igual 'space-around' que 'justify' en cuanto a la distribución de los contenidos, pero por lo que he podido averiguar no existe una equivalencia exacta.

Etiquetas: display, flex, safari
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 08:25.