Wie bekomme ich FF 33.x Flexbox-Verhalten im FF 34.x?
Verwenden wir flexbox stark für eine desktop-Anwendung wie suchen die web-app und es hat toll.
Aber mit der neuesten Firefox-Developer Edition (35.0a2) das layout verhält sich nicht wie erwartet (es wächst über den viewport): http://tinyurl.com/k6a8jde
Dies funktioniert gut in Firefox 33.1.
Ich würde annehmen, das hat etwas zu tun mit der flexbox hier beschriebenen änderungen:
https://developer.mozilla.org/en-US/Firefox/Releases/34/Site_Compatibility
Aber leider kann ich noch nicht herausfinden, einen Weg, um den FF 33.x Verhalten in FF 34 oder 35.x.
Jede Hilfe in Bezug auf das layout oder wie man besser das problem einzugrenzen geschätzt wird.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Relevanten Unterschied gibt, ist die "implizite Mindestgröße von flex-items", ein neues feature in der flexbox-spec. (oder eher, ein feature, das entfernt wurde und wieder eingeführt)
Die einfachste (bluntest) Weg, um das alte Verhalten wiederherzustellen ist das hinzufügen dieser Stil-Regel:
* { min-height:0 }
(odermin-width
, wenn Sie waren besorgt über den überlauf in eine horizontale flexbox; aber es sieht aus wie Ihre testcase hat nur ärger mit überlauf aus eine vertikale flex-container).Aktualisiert fiddle, mit dieser änderung:
http://jsfiddle.net/yoL2otcr/1/
Wirklich, Sie sollten nur benötigen, um
min-height:0
auf bestimmte Elemente -- insbesondere, müssen Sie auf jedes element, daß:ist ein Kind von einer 'Säule'-orientierten flex-container
ist ein großer Nachkomme, Sie zu ermöglichen überlauf (die vielleicht behandelt werden, die sich anmutig durch ein zwischenelement mit "overflow:scroll", wie es hier der Fall ist)
(In Ihrem Fall, es gibt tatsächlich eine verschachtelte Stapel von diesen Elementen, da Sie eine single groß-element in der viele verschachtelte flex-Containern. So müssen Sie wahrscheinlich ein
min-height:0
alle Weg, leider.)(Wenn Sie neugierig, dieser bug hat mehr Informationen & mehr Beispiele für Inhalt, der defekt war auf das web durch diese spec-änderung: https://bugzilla.mozilla.org/show_bug.cgi?id=1043520 )
min-width:0
auf der flex-Elemente.flex-direction:row
(Standard), würden Sie wollen zu setzenmin-width:0
auf seine Kinder, explizit zu erlauben, Sie zu schrumpfen unterhalb der min-Größe des Inhalts. Fürflex-direction:column
wollen Siemin-height:0
auf seine Kinder. (Wenn Sie Zweifel haben, obwohl, sollte es in Ordnung sein, um sowohlmin-width
&min-height
auf 0, solange dabei nicht stomp auf einemin-width
Wert, den Sie an anderer Stelle in Ihrem Stile & abhängen-diese Eigenschaften traditionell hatte die 0 als ersten Wert.)keines dieser Updates hat bei mir, obwohl Sie arbeiten. In meinem Fall war ich der Lieferung einer
display: table-cell
fallback, die schien zu übernehmen. Mit SASS, einschließlich, wie diese, der fallback funktioniert für den IE, ohne die FF:Es ist einfacher als das
So geben Sie die flex-Kinder
ohne Verwendung
min-width: 0
hack