Ergebnis 1 bis 18 von 18

Thema: Contao 4: CSS Grid Layout

  1. #1
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard Contao 4: CSS Grid Layout

    Hi,

    befasse mich gerade mit dem CSS-Grid-Layout. Das Arbeiten mit den grid-areas ist eine tolle Sache.
    Was in modernen Browsern gut ausschaut, ist aber im IE11 und Edge eine reine Katastrophe.

    Welche Möglichkeiten gibt es in Contao 4, dieses Problem zu beheben?

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Schnippel,
    da macht Contao mal gar nix. Ist auch nicht die Aufgabe von Contao. Ist dein Job ;-)
    Hier mal Infos dazu: https://www.smashingmagazine.com/201...-without-grid/
    Weitere Infos: Findest du mit der Suchmaschine deines vertrauens im Internet (aka Neuland)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.762
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das hat nichts mit Contao zu tun, sondern ist ein reines CSS-Thema. Bei Microsoft Edge sind mir bisher noch keine gravierenden Probleme aufgefallen. Beim IE11 muss man mit Prefixes und alter Spezifikation arbeiten. Dann klappt zumindestens vieles. Den Rest konnte ich bisher mit ein wenig CSS-Phantasie und der sehr hilfreichen Klasse .ie11 ausbügeln, die Contao vergibt. Die ganzen Prefix-Geschichten kann man händisch machen oder man nutzt den überaus hilfreichen Autoprefixer und Postcss. Ein interessanter Artikel zu diesem Thema: https://css-tricks.com/css-grid-in-i...-autoprefixer/

    Falls man den Autoprefixer nicht in den eigenen Workflow integriert hat (gulp, grunt, editor-plugin), den autoprefixer gibt es auch online https://autoprefixer.github.io/.

    Nachtrag: Alternative vor allem wenn man noch ältere IEs unterstützen muss, ist dann das gute alte Float welches auch bei den Dinosauriern meist zufriedenstellend funktioniert.
    Geändert von mlweb (22.08.2018 um 15:56 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  4. #4
    Contao-Fan Avatar von rusty
    Registriert seit
    07.02.2012.
    Ort
    Hamburg
    Beiträge
    267

    Standard

    Ich habe schon mehrfach mit dem Gedanken gespielt, CSS Grid für die Umsetzung von Layouts zu verwenden. Vor allem, wenn Elemente eine bestimmte Höhe erhalten sollen, die mit der Höhe anderer Elemente korrelieren, wäre das eigentlich ziemlich smart.
    Gescheitert ist das bisher immer an der Eigenschaft grid-auto-flow, die es ermöglicht, Elemente ohne explizite Zuweisung einer Position in das Grid fließen zu lassen. Im Kontext eines CMS, bei dem Redakteure die Freiheit haben sollen, zusätzliche Inhalte anzulegen, die dann automatisch im Layout platziert werden, ist diese Eigenschaft essentiell. Aber meines Wissens leider nicht für IE11 realisierbar. Und auf den wollte dann bisher doch noch kein Kunde verzichten.

  5. #5
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    und der sehr hilfreichen Klasse .ie11 ausbügeln, die Contao vergibt
    Wo befindet sich die .ie11?

  6. #6
    Contao-Fan Avatar von rusty
    Registriert seit
    07.02.2012.
    Ort
    Hamburg
    Beiträge
    267

    Standard

    im body-Tag. Zusammen mit anderen Klassen für das jeweilige Betriebssystem, Browser und Rendering-Engine.

  7. #7
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Contao setzt eine CSS-Klasse für den Body, in der in diesem Fall .ie11 drinsteht. Also kann man mit .ie11 .foobar speziell den Browser ansprechen. Man könnte auch auf die Idee kommen, dem IE mittels eines Conditional Comments (<!--[if IE 11|>...<![endif]--> ein separates Stylesheet unterzusemmeln. Ich habe das neulich mal gemacht und dabei einer Seite, die auf dem CSS-Grid von Bootstrap 4 aufbaut, extra für alte IEs nochmal das Grid von Bootstrap 3 störungsfrei mitgegeben.

    Darüber hinaus gibt es ein Polyfill, dass den alten Microsoft-Browsern einen Teil der Grid-Syntax beibiegt.

    Wie dem auch sei: Ich sehe da ohnehin Nutzungszahlen, die nicht wirklich ins Gewicht fallen. Der IE11 ist in DE zur Zeit bei etwas über drei Prozent, und vielleicht sollte man diesen User*innen auch mal zumuten, eine alte Software (aus dem Jahr 2013) nicht mehr zu benutzen. Der einzige Browser, der das wirklich nicht unterstützt, ist Opera Mini, aber deren Anwender*innen sind ja ohnehin Kummer gewohnt.
    Geändert von lucina (23.08.2018 um 08:18 Uhr) Grund: Typo

  8. #8
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    775
    User beschenken
    Wunschliste

    Standard

    Moin,

    Zitat Zitat von lucina Beitrag anzeigen
    Man könnte auch auf die Idee kommen, dem IE mittels eines Conditional Comments (<!--[if IE 11|>...<![endif]--> ein separates Stylesheet unterzusemmeln.
    öhmmmm, ich dachte seit IE10 sei Schluss mit den Conditional Comments?
    Kann mich düster erinnern, dass ich vor einiger Zeit mit dem obigen Konstrukt versuchte nem IE11 ein extra CSS zu verpassen, was um's Verrecken nicht klappen wollte ... bis ich dann mal googelte und bemerkte, dass CCs nicht mehr unterstützt werden.

    Darüber hinaus gibt es ein Polyfill, dass den alten Microsoft-Browsern einen Teil der Grid-Syntax beibiegt.
    Werde ich mir mal anschauen.

    Wie dem auch sei: Ich sehe da ohnehin Nutzungszahlen, die nicht wirklich ins Gewicht fallen. Der IE11 ist in DE zur Zeit bei etwas über drei Prozent, und vielleicht sollte man diesen User*innen auch mal zumuten, eine alte Software (aus dem Jahr 2013) nicht mehr zu benutzen.
    Naja, die 3% mögen ein statistischer Mittelwert sein, aber es gibt durchaus Ausreißer. Ich habe hier zwei Kundenseiten, da sind's 12% und bei der zweiten Seite sogar 18% mit IE11. Da wird's dann argumentativ schon schwer in Sachen Überzeugung.
    Richtig unschön wird es, wenn der Kunde zB eine städtische Behörde ist, die selbst noch mit Win7 unterwegs ist ...
    Grüße, Stefko

  9. #9
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Stimmt, das war ein 10er, gerade nachgesehen. Hast natürlich Recht, sorry.

  10. #10
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.762
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja bestimmte Dinge funktionieren mit dem IE11 nicht/nicht richtig. Wenn der IE11 unterstützt werden muss (sind bei mir nicht alle Kunden), dann kostet es halt mehr und es gibt ggf. ein Fallback mit Float und/oder Flexbox. Kommt immer auf den konkreten Fall an.

    Für autofill hier zum Beispiel eine Beschreibung für ein Fallback mit Flex https://css-tricks.com/css-grid-in-i...rid-with-gaps/ andere setzen polyfills ein http://ianmcnally.me/blog/2017/10/19...cement-in-ie11
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  11. #11
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    Ich habe das jetzt mal ausprobiert:

    Code:
    .example {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns:1fr 1fr 1fr 1fr;
        grid-template-columns:1fr 1fr 1fr 1fr;
        grid-template-areas:
       "c1 c1 c1 ad"
       "c2 c2 c2 ad";	
    		 
    
        
    }
    
    .c1 { 
    -ms-grid-row:1; 
    -ms-grid-column:1; 
    -ms-grid-column-span:3; 
    grid-area:c1;
    }
    
    .c2 {
    -ms-grid-row:2;
    -ms-grid-column:1;
    -ms-grid-column-span:3;
    grid-area:c2;
    }
    
    .ad {
    -ms-grid-row:1;
    -ms-grid-row-span:2;
    -ms-grid-column:4;
    grid-area:ad;
    }
    Mit dem Autoprefixer kann man die CSS-Angaben entsprechend ergänzen (siehe ROT). Es funktioniert damit nun auch im IE11.

    Problem bei Flat-TV / Flachbildschirm-Fernsehr
    Ich habe mir das Ganze dann mal über den Fernsehr angeschaut, und da funktioniert das mit den grid-areas nun wieder nicht (bei Verwendung des obigen CSS-Codes).
    Gibt es da bei den Fernseh-Geräten in Verbindung mit den CSS-Grid-Layout irgendwelche Besonderheiten zu beachten?

    Für mich stellt sich halt die Frage, inwieweit ich mit CSS-Grid-Layout heut schon anfange oder doch lieber auf alt bewährte Techniken zurückgreife, die
    bisher gut funktioniert haben - incl. IE und Flat-TV, aber eben nicht so komfortabel im layouten sind.

  12. #12
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Schnippel Beitrag anzeigen
    Problem bei Flat-TV / Flachbildschirm-Fernsehr
    Ich habe mir das Ganze dann mal über den Fernsehr angeschaut, und da funktioniert das mit den grid-areas nun wieder nicht (bei Verwendung des obigen CSS-Codes).
    Gibt es da bei den Fernseh-Geräten in Verbindung mit den CSS-Grid-Layout irgendwelche Besonderheiten zu beachten?

    Für mich stellt sich halt die Frage, inwieweit ich mit CSS-Grid-Layout heut schon anfange oder doch lieber auf alt bewährte Techniken zurückgreife, die
    bisher gut funktioniert haben - incl. IE und Flat-TV, aber eben nicht so komfortabel im layouten sind.
    Das kommt ganz sicher darauf an, welcher Browser in welcher Version auf dem TV mit welcher Firmware drauf ist. Da gibt es ja eine Reihe von Varietäten (und mir persönlich sind die auch relativ egal weil ich - ausser meinem eigenen Gerät - noch nie Besucher im Log hatte, die damit unterwegs waren).

    Nachsatz: Android TV auf meinem Philips mit Chrome 67 hat da null Probleme.
    Nachsatz 2: Im Log steht noch Opera 12 mit Presto-Engine, der CSS-Grid mit Holzhammermethode ebenfalls klaglos anzeigt.
    Geändert von lucina (23.08.2018 um 12:27 Uhr) Grund: Ergänzungen

  13. #13
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    775
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Schnippel Beitrag anzeigen
    Ich habe mir das Ganze dann mal über den Fernsehr angeschaut, und da funktioniert das mit den grid-areas nun wieder nicht (bei Verwendung des obigen CSS-Codes).
    Ich vermute mal, dass Du den TV nicht einfach nur als Monitor verwendet hast, sondern den internen Browser des (Smart)TVs verwendet hast, korrekt?
    Grüße, Stefko

  14. #14
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    Ja, mit dem internen Browser des TV.

  15. #15
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn man Marke des Gerätes inkl Typnummer, Betriebssystem inkl. Version sowie Namen und Version des Browsers wüsste könnte man möglicherweise nachschauen. 'Smart TV' oder 'interner Browser' reicht da ganz sicher nicht. Schau mal in deine Serverlogs, vielleicht steht da ja der Useragent irgendwo drin.

  16. #16
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    775
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Schnippel Beitrag anzeigen
    Ja, mit dem internen Browser des TV.
    Auf die Schnelle habe ich nur diese Liste hier gefunden https://en.wikipedia.org/wiki/List_o...eware_software
    Wenn man jetzt davon ausgeht, das jeder Hersteller wahrscheinlich noch verschiedene OS-Versionen verwendet und das mit den jeweils verfügbaren Browsern multipliziert ...

    Wenn ich mal Langeweile oder zu gute Laune habe, schaue ich mir mal ein paar meiner Seiten über die PS3 an ...
    Grüße, Stefko

  17. #17
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    ... wobei dann sicher auch noch die Frage ist, wie Du das ggf. debuggen möchtest. Bei Android TV geht das per ADB (nicht schön, aber es geht), aber bei den vielen verdongelten Lösungen?

  18. #18
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.762
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Für mich bleibt aber die vorhin schon mal von @lucina gemachte Anmerkung. Warum ist das für Dich relevant? Kommen die Besucher Deiner Websites respektive die Deiner Kunden tatsächlich in größerer Anzahl über TV auf die Seiten?
    Wenn ja dann ist das m.E. ein absoluter Sonderfall und Du wirst von den Erfahrungen mit dem Einsatz von css-grid hier im Forum kaum profitieren können. Wenn nicht, dann musst Du Dir über dieses Medium wohl auch nicht allzu viele Gedanken machen.

    Wobei es insgesamt sicher auch bei diesem Medium möglich ist die "verfügbaren" css-Eigenschaften abzufragen (modernizr) und eine Fallback-Lösung einzusetzen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •