Ergebnis 1 bis 24 von 24

Thema: Separates Einbinden von internen Stylsheets funktioniert nicht

  1. #1
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard Separates Einbinden von internen Stylsheets funktioniert nicht

    Hallo zusammen,

    ich habe zwei existierende Seitenlayouts. Seitenlayout (standard) und Seitenlayout (mobil). Diesen habe ich entsprechend interne stylesheets (standard.css) und (responsive.css) zugewiesen.
    Ich habe natürlich die standard.css kopiert und diese in responsive umbenannt und anschließend innerhalb der responsiv.css die CSS-Anweisungen geändert.
    Ferner habe ich ein entsprechende media query (max-width: 767px) für die responsive.css angelegt.

    Damit das aber funktioniert, muss ich jedem der beiden Seitenlayouts alle beide css-Dateien zuweisen. Ich dachte bisher, dass das so funktioniert, dass ich eben dem Standardlayout die standard.css zuweise und dem Seitenlayout(mobil) die responsive.css.

    Kann mir jemand sagen, warum das so nicht funktioniert? Oder ist das normal?
    Geändert von monaco (25.03.2015 um 11:20 Uhr)
    Seien wir realistisch, versuchen wir das Unmögliche

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du das so machst, also nur die respnsive.css beim mobilen Seitenlayout, dann haben als mobil eingestufte Browser/Geräte mit einer Viewportgrösse von mehr als 767px eben überhaupt kein CSS mehr. Auf welchem Gerät und mit welchem Browser "funktioniert" es denn nicht?

  3. #3
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Also ich habe mal die standard.css und die responsiv.css dem standardlayout zugewiesen.

    Dem mobilen Seitenlayout habe ich nur die responsiv.css zugewiesen.

    Und schon da funktioniert das responsiv nicht; bei den Browsern IE, Firefox, Opera und Chrome
    Seien wir realistisch, versuchen wir das Unmögliche

  4. #4
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Damit dein responsive.css greifen kann, muss erst mal das mobile Layout verwendet werden. Wenn du das auf dem Desktoprechner testest, dann wird natürlich nicht das mobile Seitenlayout verwendet. Oder hast du dir einen "Umschalter" eingebaut in deine Seite?

  5. #5
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Damit dein responsive.css greifen kann, muss erst mal das mobile Layout verwendet werden. Wenn du das auf dem Desktoprechner testest, dann wird natürlich nicht das mobile Seitenlayout verwendet. Oder hast du dir einen "Umschalter" eingebaut in deine Seite?
    Nein, ich habe bisher noch keinen "Umschalter" eingebaut. Getestet habe ich das so, in dem ich auf meinem Desktoprechner (24Zoll) screen das Browserfenster verkleinert habe.
    Seien wir realistisch, versuchen wir das Unmögliche

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ok, dann wird also das normale Layout verwendet. Da du hier ebenfalls die "responsiv.css" mit eingebunden hast, gibt es zumindest mal eine Chance, dass die was bewirkt. Allerdings nur, wenn sie auch NACH der "standard.css" eingebunden ist. Sonst überschreiben dir die Styles aus der "standard.css" deine Styles aus der "responsiv.css".

  7. #7
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    https://contao.org/de/manual/3.4/man...#verschiedenes

    Zweit unterster Inserttag im Bereich "verschiedenes" ist der von Tab erwähnter Umschalter.


  8. #8
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    ok. Also ich habe die Seite mal hochgeladen:
    http://www.stars-training.de

    Ich habe nun aktuell dem standard-layout nur die (standard.css) zugewiesen. Und dem Mobilen-Layout die (standard.css und responsive.css)

    Also wenn ich die Seite auf dem Smartphone aufrufe, funktioniert es.

    Um eine Seite auf responsiv zu testen, ist das Vergrößern/Verkleinern des Browserfensters auf dem Desktoprechner wohl keine 100%ige Garantie?
    Geändert von monaco (25.03.2015 um 13:38 Uhr)
    Seien wir realistisch, versuchen wir das Unmögliche

  9. #9
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, es ja entweder das Desktop oder das mobile Layout verwendet, je nachdem, was im user agent String des Browsers angegeben wird. Wird das als mobil einestuft, dann das mobile Layout, falls nicht, das Desktop Layout. Mit dem Umschalter kannst du aber zumindest in etwa beurteilen, wie das mobile Layout aussieht, weil du dann zwischen den Seitenlaxyout hin- und herschalten kannst. Auch auf dem Desktop PC. Und natürlich auch umgekehrt kannst du dann auf dem Smartphone auswählen, welche Layoutvariante du haben willst. Das ist (zumindest) während der Entwicklung ganz hilfreich.

  10. #10
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Aber wieso funktioniert das Responsiv auf dem Desktoprechner nur wenn ich dem Standard-Layout sowohl die standard.css als auch die responsiv.css zuweise?
    Seien wir realistisch, versuchen wir das Unmögliche

  11. #11
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sollte doch auch ohne die "standard.css" funktionieren. Außer natürlich, dein Browserfenster (eigentlich Viewport) ist breiter als 767px, dann greift ja das responsiv.css nicht, außer du hast das media query direkt im Stylesheet responsiv.css nur für die Styles gemacht, die sich bei Breite <= 767px ändern. Ich habe es aber so verstanden, dass das media query bei dir für das gesamte Stylesheet gilt.

  12. #12
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Außer natürlich, dein Browserfenster (eigentlich Viewport) ist breiter als 767px, dann greift ja das responsiv.css nicht, außer du hast das media query direkt im Stylesheet responsiv.css nur für die Styles gemacht, die sich bei Breite <= 767px ändern.
    Ja genau so habe ich es definiert. siehe Anlage
    Angehängte Dateien Angehängte Dateien
    Seien wir realistisch, versuchen wir das Unmögliche

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    monaco: du Misverstehst die Contao Layout Einstellung "Mobiles Seitenlayout". Das Layout kommt nur dann zum Einsatz, wenn Contao erkennt, dass der Benutzer über ein mobiles Gerät auf die Seite zugreift. Wenn du dies also mit dem Desktoprechner testest, wird natürlich das normale Seitenlayout benutzt, nicht das mobile Seitenlayout. Mit der Größe des Browsers hat das nichts zu tun.

  14. #14
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Das verstehe ich schon. Wenn ich beispielsweise die Seite https://inetrobots.de/ auf dem Desktop-Rechner teste bzw.durch das Verschieben des Browserfensters verkleinere, wird die Seite angepasst bzw. responsiv.
    Seien wir realistisch, versuchen wir das Unmögliche

  15. #15
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das ist natürlich völlig richtig. Aber wenn er sein "responsive-767" Stylesheet mit der media query zusätzlich zum normalen CSS ins normale Desktop-Layout einbindet, dann sollten die Styles schon berücksichtigt werden, wenn der Viewport des (Desktop-)Browsers nicht größer als 767 px ist. Ausgeliefert werden müsste sie allerdings immer, und ich kann sie im ausgelieferten CSS nicht finden. Vielleicht ist sie ja auch gerade deaktiviert?!?

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Zitat Zitat von monaco Beitrag anzeigen
    ok. Also ich habe die Seite mal hochgeladen:
    http://www.stars-training.de

    Ich habe nun aktuell dem standard-layout nur die (standard.css) zugewiesen. Und dem Mobilen-Layout die (standard.css und responsive.css)

    Also wenn ich die Seite auf dem Smartphone aufrufe, funktioniert es.

    Um eine Seite auf responsiv zu testen, ist das Vergrößern/Verkleinern des Browserfensters auf dem Desktoprechner wohl keine 100%ige Garantie?
    Auf der Seite ist derzeit kein "standard.css" Stylesheet zu sehen, nur ein "layout.css".

  17. #17
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Auf der Seite ist derzeit kein "standard.css" Stylesheet zu sehen, nur ein "layout.css".
    Oh, sorry. Ich hatte es layout.css genannt, welches ich dem standardlayout zugewiesen habe.
    Seien wir realistisch, versuchen wir das Unmögliche

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Ok, wollte ich nur klarstellen . Hab aber beim derzeitigen Informationsstand auch sonst keine Idee.

  19. #19
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Also das verwirrt mich doch jetzt etwas. Ich habe den layout-Builder deaktiviert, da ich flexbox verwende. Habe ein Standardlayout mit einer entsprechenden internen css-Datei standard.css.

    Wir geht ihr vor, wenn ihr ein entsprechendes Design für entsprechende Endgeräte anfertigen wollt.

    Ich habe erstmal ein Seitenlayout (mobil) angelegt. Und danach eine mobil.css mit einem media-query @media screen and (max-width: 767px), mit der gewisse css-Anweisungen aus der standard.css überschrieben werden.

    Binde ich dann sowohl im standardlayout als auch im seitenlayout (mobile) beide css-dateien ein?
    Seien wir realistisch, versuchen wir das Unmögliche

  20. #20
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, alles CSS, was an mobile Geräte ausgeliefert werden soll, muss auch im mobilen Seitenlayout eingebunden werden. Alles CSS, was für "normale" Geräte ausgeliefert werden soll, muss im normalen Seitenlayout eingebunden werden.

    Das sind wirklich zwei völlig unabhängige Seitenlayouts, in die völlig unterschiedliches CSS, JS, was auch immer eingebunden werden kann. Auch völlig unterschiedliche Module, unterschiedliche Layoutbereiche ...

    Wenn also für ein Gerät das mobile Seitenlayout benutzt wird, dann wird NICHTS aus dem normalen Seitenlayout ausgeliefert, auch kein "Standard"-CSS. Nur das, was im mobilen Seitenlayout eingebunden wird. Natürlich kannst du deine standard.css in beiden Layouts einbinden, dann wird sie beide Male ausgeliefert.

    Dein Ansatz, mit einer standard.css, die für einen Desktop alles beinhaltet und einer zusätzlichen CSS-Datei geht im Prinzip (fast) genauso gut auch ohne mobiles Seitenlayout.

    Das wird z.B. benötigt, wenn speziell für mobile Geräte andere Module benutzt werden sollen oder die im Desktop-Layout vielleicht in den Seitenspalten ausgegebenen Module jetzt entweder in der Hauptspalte ausgegeben werden sollen oder manche eventuell auch gar nicht mehr.

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Zitat Zitat von monaco Beitrag anzeigen
    Wir geht ihr vor, wenn ihr ein entsprechendes Design für entsprechende Endgeräte anfertigen wollt.
    Nur über Media Queries innerhalb der CSS Dateien. Ein mobiles Layout* brauchst du nicht unbedingt.


    Ein separates mobiles Layout* ist zum Beispiel dann sinnvoll, wenn sich der ausgegebene Inhalt zwischen der Desktop und der mobilen Version unterscheidet bzw. unterscheiden soll. Das kann bei grundsätzlich verschiedenem Content der Fall sein, aber auch wenn das verwendete Design bzw. Layout für die mobile Version es nicht zulässt, es nur über Media Queries zu realisieren.


    * hier ist die Einstellung Layout für mobile Seiten in den Einstellungen der Seite in der Seitenstruktur gemeint

  22. #22
    Contao-Fan
    Registriert seit
    03.04.2012.
    Beiträge
    747

    Standard

    Dankeschön euch beiden. Also hier im Bespiel http://www.iso.org/iso/home.htm wird ja, wenn man den Viewport verkleinert die Navigation zu einer Quicknavigation verändert.
    Um das ganze in Contao (hypothetisch) durchzuspielen:

    Dem Standardlayout wird die standard.css zugewiesen. Wenn ich nun das Browserfenster verkleinere muss ja dann die responsive.css incl. media query auch noch eingebunden werden, damit auf das Verkleinern reagiert wird.

    Binde ich dann in Bezug auf das Bespiel im Mobilen-Seitenlayout auch beide css-Dateien (standard und responsive.css) ein und schmeiße einmal aus dem standardseitenlayout die quicknav heraus und aus dem mobilen Seitenlayout das Modul (navigationsmenü) bzw. mannav.
    Seien wir realistisch, versuchen wir das Unmögliche

  23. #23
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, so könnte man das machen. Ich mache es eher selten und nutze meist nur ein gemeinsames Seitenlayout. Das mit den unterschiedlichen Navis bekommt man trotzdem hin, je nach Viewport-Breite wird eben per CSS die eine Navi mit display:none; ausgeblendet und die andere mit display:block; eingeblendet. Nachteil dabei: Im Seitenquelltext stehen beide Navis drin. Das lässt sich mit dem mobilen Layout vermeiden.

    Problematisch am "mobilen" Layout finde ich, dass ich die Unterscheidung mobil/Desktop nicht immer nachvollziehen kann. Woran soll man das festmachen? Viewport? Internetverbindung? Touch display? ... Keine Ahnung, jedenfalls, wie immer es gemacht wird, irgendwas ist immer verkehrt.

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

    Support Contao

    Standard

    Ich schließ mich dem an. Ich habe bisher auch noch nie ein extra "mobiles" Seitenlayout benötigt.
    Das entspricht auch dem Gedanken von responsive Webdesign.
    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
  •