Flexbox CSS Muster mit Support für ältere Browser, bitte um Verbesserungsvorschläge

  • Hi.

    Ich hab mal eine CSS Datei gebastelt, um Flexbox als zentrale Layoutbasis für ein fluides Layout mit Sticky Footer zu nutzen.
    Anstatt Dinge wie Floats, Inline-Box oder absolute/relative Positionierungen und negative Margins zu nutzen.

    Hierbei soll eine größtmögliche Abwärtskompatibilität erreicht werden so dass auch die alte Flexbox Syntax eingebaut wurde.

    Mit einbau der alten Flexbox Syntax kann man ja schon sehr viel abdecken: http://caniuse.com/#feat=flexbox

    Browser, die noch nicht mal die alte Flexbox Syntax unterstützen, sollen hingegen unberücksichtigt bleiben, und mehr oder weniger "Plain Text" zeigen. Also sollen dafür keine Fallbacks mit Floats oder so realisiert werden.
    Wirklich relevant wäre das ohnehin nur bei alten IE Versionen, bei denen dann sowieso noch viel mehr im Argen liegt und man für eine Kompatibilität viel Arbeit investieren müsste.

    Hier mal das CSS. Über Verbesserungsvorschläge freue ich mich.

    Gruß

  • Hallo

    Ich befürchte du machst dir viel unnütze Arbeit für Browser, die heute nicht mehr verwendet werden.

    HTML und CSS werden dauernd weiter entwickelt. Dabei hat es sich nicht nur bei Flexbox als Irrweg erwiesen, alte Schreibweisen zu lange weiter zu verwenden.

    Flexbox ist nur eine CSS-Anweisung von vielen. Die müssten nach deinem Vorgehen ja alle mit ihren alten Schreibweisen berücksichtigt werden.

    Bei einem von dir noch gar nicht berücksichtigtem Responsive Layout vervielfacht sich der Arbeitsaufwand für den Webseitenersteller ohne Vorteil für die Besucher der Webside. Wer als Webseitenersteller Zeit übrig hat sollte die zunächst in ein barrierefreies Layout investieren, wovon auch seine Besucher profitieren würden.

    Deshalb gilt auch für Flexbox: Bei dem heutigen Verbeitungsgrad braucht nur die aktuelle Schreibweise berücksichtigt zu werden. Für alle Problembrowser wird ein einfaches Fallback angelegt und fertig. Fallback hört sich für Neulige vielleicht nach viel zusätzlichem Aufwand an. In einem Responsive Layout sind das meist aber nur wenige Zeilen CSS-Angaben. Positiver Nebeneffekt: Der Quelltext bleibt für den Webseitenersteller übersichtlich.

    Wer dennoch von den alten Schreibweisen nicht lassen mag sollte dafür Online-Lösungen verwenden, die die alten Schreibweisen für ihn mehr oder weniger automatisch hinzufügen. Einfach das CSS mit der aktuellen Schreibweise hineinkopieren und den erweiterten Quelltext zurückkopieren.

    Gruss

    MrMurphy

  • Hi.

    Also die alten Flexbox Schreibweisen hab ich auch durch ein Autoprefixer-Onlinetool bekommen und in mein CSS eingebaut.

    Ein Fallback-Layout habe ich faktisch schon (Und zwar das erste Layout was ich überhaupt gemacht habe). Und zwar werden dort alle Bereiche einfach mit 100% Breite untereinander mit horizontaler Navigation in einem 1-Spalten-Layout dargestellt.

    Das Layout ist sogar Responsiv, weil ich überwiegend mit % Angaben statt mit px gearbeitet habe. (Ausnahmen sind nur manche Max und Min Angaben in px)
    Bei großen Bildschirmen wird einfach mit "max-width: 1200px" und "margin: 0 auto" zentriert, damit die Textzeilen nicht zu lang werden bzw eine "Obergrenze" für die Layoutausdehnung gesetzt wird.

    Einen echten "Sticky Footer" gibts nicht. Aber da Kopfzeile und Navigation mit height: 10% und der Wrapper mit min-height: 75% gemacht wurden, ist der Footer ohne größeren Aufwand doch immer im unteren Bereich der Seite angesiedelt.

    Nun wollte ich halt auf ein Responsives 2 oder 3 Spalten Layout gehen, damit bei Desktop-Bildschirmen oder neueren Mobilgeräten mit hoher Auflösung im Landscape Modus eine Seitenleiste angezeigt werden kann, wo sonst nur Weißraum wäre.

    Und dafür erscheint mir Flexbox am Besten geeignet.
    Das Gefrickel mit den Floats will ich mir gar nicht erst antun.
    Dann würde ich ehr noch mit "position: absolute" oder so arbeiten und einzelne Divs per Media Querys + absoluter Positionierung auf den Weißraum rechts/ links "umsetzen".

    Was hälst du von Flexbox für die Layouterstellung? Oder würdest du ein 1 Spalten Layout nehmen und die Weißräume per Media Query + Position Absolute füllen?

    LG

    Einmal editiert, zuletzt von Yosh (21. Dezember 2016 um 18:40)

  • Hab mal verschiedene Verfahren zur Layout-Erzeugung ausprobiert.
    Fluides 2 Spalten Layout mit max-width und Sticky Footer.
    -Floats
    -Margins und negative Margins
    -Position
    -Flexbox

    Wenn man die alten Flexbox Schreibweisen einspart, ist das Flexbox Layout am stabilsten und hat das aufgeräumteste CSS.
    Lediglich für den IE11 muss man noch ein bisschen frickeln.
    Alle anderen Methoden erforderten deutlich mehr Frickelei, sind aber auch relativ weit abwärtskompatibel.

    Würdet ihr heute Flexbox ohne Prefixes nutzen?