CSS Stile des Child Themes werden überschrieben

  • Hallo Kollegen, Ich habe hier eine Testseite aufgebaut mit:

    • WP5.7
    • Elementor 3.1
    • Theme: Hello Elementor
    • Child: Hello EMT child-03
    • Link zur Testseite: LINK


    Nun möchte ich die Schriftformatierungen jedoch nicht über Elementor steuern, sondern per CSS im Child Theme. Die Einträge dort werden jedoch immer wieder von anderen CSS überschrieben. Es funktioniert nur, wenn ich jeder CSS Anweisung ein !important hinzufüge, was ich natürlich vermeiden möchte!

    Beispiel:
    Die H2 habe ich mit color:red · font-size:60px · font-family:courier definiert. Funktioniert alles, da ich überall !important hinzugefügt habe. Die H3 ist genauso formatiert, jedoch ohne !important, weshalb es nicht funktioniert.

    Wie schaffe ich es, dass das CSS des Child Themes die höchste Prioriät hat also als letztes gelesen wird?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • das liegt daran, dass die elementor css viel genauer definiert: .elementor-90 .elementor-element.elementor-element-2ecf56e .elementor-heading-title

    Edith: hat Elementor nicht eine Einstellung zu Eigenem CSS?
    Elementor Einstellungen > Einstellungen > Eigenes CSS

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (8. April 2021 um 11:27)

  • Ich bin ja kein Freund von Elementor, daher habe ich auch keinen Erfahrungswert. Du könntest aber einmal versuchen die Priorität beim Laden der style.css im Child auf 99999 zu ändern. Das sollte ausreichen um die CSS Datei garantiert als letzte zu laden.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • i.d.R. machst du das doch über die functions.php deines Childs:

    PHP
    function child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-theme-css', get_stylesheet_directory_uri() . '/style.css' , array('parent-style'));
    }
    add_action( 'wp_enqueue_scripts', 'child_theme_styles' );


    Beim add_action() dann die Prio angeben.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Um CSS zu überlagen, verwendet man spezifischere Selektoren.

    An der Ladereihenfolge der Dateien von Theme oder Plugins sollte man nicht herumbasteln, das führt wegen ggf. vorhandenen Abhängigkeiten dann ggf. zu Chaos in Minify Plugins oder auch zu FOUC Effekten usw.

  • Mit Elementor hat man dann aber ein Problem, da Elementor für jedes Element eine eigene css-class (data-id) angibt. Eine allgemeine Formatierung für z.B. H3 ist dann eben schlecht möglich.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • i.d.R. machst du das doch über die functions.php deines Childs:


    Genau! Darüber habe ich auch schon diverses gelesen. Bisher hat aber keiner der vielen Versuche gefruchtet. Das Problem ist, dass ich dann nie weiß, ob ich was falsch mache oder ob es grundstäzlich nicht geht, weil ich von PHP nun wirklich nichts verstehe, außer das bisschen, was man aus dem Lesen des Codes erahnen kann.
    Der gesamte Code oberhalb von "add-action()" ließe sich aber genau so übernehmen oder muss ich dort etwas anpassen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!