Ergebnis 1 bis 12 von 12

Thema: CSS - Reihenfolge

  1. #1
    Contao-Fan
    Registriert seit
    07.02.2010.
    Ort
    Kiel
    Beiträge
    263

    Standard CSS - Reihenfolge

    Hallo,

    ich möchte die bootstrap.min.css über contao-theme-plus einbinden. Zusätzlich habe ich eine internes stylesheet, um die bootstrap-Klasssen zu überschreiben. Daher soll das interne stylesheet nach (und nicht vor) der bootstrap.min.css geladen werden. Ist es irgendwie möglich, die Reihenfolge festzulegen, wenn ich contao-theme-plus benutze?

    Gruß
    Karsten

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

    Standard

    Hallo,

    ich habe ein ähnliches Problem. Habe auch die bootstrap-css wie folgt eingebunden:
    PHP-Code:
    <link href="assets/components/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen"
    Zudem habe ich eine eigene interne CSS-Datei definiert. Leider werden aber die Vorgaben dieser nicht überschrieben.

    Wo kann ich denn die entsprechende Reihenfolge der CSS-Dateien definieren, damit das Überschreiben klappt?
    Seien wir realistisch, versuchen wir das Unmögliche

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

    Standard

    Kann es sein, dass eine interne CSS-Datei die eingebundene CSS-Datei im head-Bereich wie in meinem Beispiel
    PHP-Code:
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"
    nicht überschreibt?
    Seien wir realistisch, versuchen wir das Unmögliche

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

    Support Contao

    Standard

    Das interne CSS ist ja ebenfalls im <head> eingebunden. Insofern wird es wohl drauf ankommen, was da im <head> zuerst drinsteht im fe_page Template bzw nachher im Seitenquelltext. Das hier sollte die Zeile in fe_page sein, welche die von Contao zusammengefassten Stylesheets einbindet.
    PHP-Code:
      <?php echo $this->stylesheets?>

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

    Standard

    Zitat Zitat von monaco Beitrag anzeigen
    ich habe ein ähnliches Problem. Habe auch die bootstrap-css wie folgt eingebunden:
    PHP-Code:
    <link href="assets/components/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen"
    Warum machst du das überhaupt so? Warum befindet sich die bootstrap.min.css dort? Wenn du die Datei schon lokal hast, wieso bindest du sie über "Zusätzliche head-Tags" ein, statt bei den Stylesheets?



    Zitat Zitat von monaco Beitrag anzeigen
    Zudem habe ich eine eigene interne CSS-Datei definiert. Leider werden aber die Vorgaben dieser nicht überschrieben.

    Wo kann ich denn die entsprechende Reihenfolge der CSS-Dateien definieren, damit das Überschreiben klappt?
    Ob eine CSS Definition überschrieben wird oder nicht hängt von der Specifity ab und von der Reihenfolge. Im fe_page Template findest du im <head> folgendes:
    PHP-Code:
      <?php echo $this->viewport?>
      <?php echo $this->framework?>
      <?php echo $this->stylesheets?>
      <?php echo $this->mooScripts?>
      <?php echo $this->head?>
    Bei <?php echo $this->stylesheets; ?> werden die im Layout definierten Stylesheets ausgegeben, bei <?php echo $this->head; ?> werden unter anderem die Sachen ausgegeben, die du bei "Zusätzliche head-Tags" angegeben hast. Daher wird dein einternes Stylesheet auch vor der von dir definierten bootstrap.min.css ausgegeben.

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

    Standard

    oh je, danke für den Hinweis tab und spooky. Ich habe das falsche Template ausgewählt.
    Jetzt funktionierst!
    Seien wir realistisch, versuchen wir das Unmögliche

  7. #7
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    ich würd das gerne nochmal zusammenfassen und meine 2cents dazu geben,
    da ich in das Problem auch reingelaufen bin und ich glaube ich weiss auch warum

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum machst du das überhaupt so? Warum befindet sich die bootstrap.min.css dort? Wenn du die Datei schon lokal hast, wieso bindest du sie über "Zusätzliche head-Tags" ein, statt bei den Stylesheets?
    als Dummy bin ich auch den Weg gegangen und hab mir das Video auf Vimeo angesehen.
    Dort wird es genau so gezeigt, die components/bootstrap in den assets ordner und über die Zusätzlichen <head>-Tags einbinden.

    Dadurch ist aber ein Ändern der Ladereihenfolge im Template wirkungslos, denn dann ist die Ladereihenfolge eben so festgelegt, dass die eigenen/custom.css immer von bootstrap überschrieben werden.
    spät kam mir dann die Erkenntnis, dass die bootstrap.min.css eben lokal eingebunden werden sollte, sodass sie mit den eigenen CSS-Anweisungen überschrieben werden kann.

  8. #8
    Contao-Fan
    Registriert seit
    07.02.2010.
    Ort
    Kiel
    Beiträge
    263

    Standard

    also ich habe es jetzt folgendermaßen gelöst:
    Ich kopiere die bootstrap.min.css in mein file-Verzeichnis und binde diese dann als externes Stylesheet ein. Dann wähle ich "externe stylesheets zuerst laden" aus. Somit kann ich die CSS-Anweisungen dann überschreiben, s. Anhang.
    bootstrap-css.jpg

  9. #9
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    ja genau so habe ich es dann jetzt auch gemacht, nachdem ich mich erstmal verlaufen hatte:-)

  10. #10
    Contao-Fan
    Registriert seit
    07.01.2011.
    Beiträge
    278

    Standard

    Wieso so kompliziert?

    Wenn ihr das aktuelle Contao-Bundle nutzt, dann müsst ihr doch sowieso die components/bootstrap laden oder ein externes Stylesheet einbinden.
    Danach geht ihr wie folgt vor, Bootstrap als CSS-Datei über Theme+ einbinden, danach ein weiteres CSS einbinden (eurer eigenes).
    Über Theme+ -> Neues CSS (File) -> Quelle: Assets. Dann im Unterordner CSS eure CSS-Datei auswählen.
    Nun habt ihr in Theme+ CSS zwei Einträge, erst Bootstrap, dann euer CSS.

  11. #11
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    nöööh, hat sich ja niemand beschwert dass es kompliziert sei lieber mj1985
    mir war nur deutlich geworden warum ich, und offenbar vor mir monaco, in das Problem mit der Ladereihenfolge geraten sind.
    und ich hatte gedacht, bevor es jemand anderem ebenso ergeht, fasse ich es mal zusammen, war eigentlich nur gut gemeint und überhaupt keine Beschwerde.
    Nix weiter:-)

  12. #12
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Das Video zeigt einfach nur eine Variante um schnell an einen Prototypen zu kommen.

    Bei realen Projekten würde ich nie auf die Components-Variante zurückgreifen, sondern Im Theme-Ordner mit einer individuell angepassten Variante arbeiten. Dank Less oder Sass lassen sich ja sehr leicht Teilkomponenten verwenden und über die Variablen das Standardverhalten schon leicht anpassen.

    Wenn die Dateien kann im Theme-Ordner unter files liegen, lassen sich die Dateien auch wieder über den Contao-Weg einbinden. Auch wenn für mich hier immer Theme+ zum Einsatz kommt.

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
  •