Derzeit verwende ich CSS-Spezifität, um Plugin-Stile zu überschreiben. Ich bevorzuge dies zum Bearbeiten des Plugins, da es beim Aktualisieren weniger Kopfschmerzen macht.
Es wäre schön, wenn mein Stylesheet nach den Plugins geladen würde, damit ich nur so genau sein muss, nicht mehr. Dies würde meine Stylesheets viel schöner machen.
Antworten:
Wie Sie vorschlagen, ist der eleganteste Ansatz, wenn Ihre CSS-Überschreibungen nach dem von den Plugins eingegebenen CSS geladen werden. Dies ist ganz einfach zu erreichen - Sie müssen nur sicherstellen, dass Ihre
header.php
Aufrufe auf Ihr Stylesheetwp_head()
verweisen:quelle
Es gibt verschiedene Möglichkeiten, wie Plugins mit CSS umgehen können.
wp_deregister_*
Insgesamt ist es meiner Meinung nach besser und einfacher, separate Stylesheets zu deaktivieren und in eigene zu integrieren, um Probleme zu minimieren und die Leistung zu verbessern (weniger Dateien zum Abrufen).
quelle
Ich speichere eine Kopie des "nicht bereit" -Plugins CSS im Theme-Ordner und importiere es durch Hinzufügen in das Theme-CSS
dazu (ersetze natürlich den Namen der .css durch den, den ich injiziere). Dann ändere ich die CSS-Kopie im Themenordner und speichere sie auf dem Server, wie ich es für die anderen Dateien tue. Oh ja, manchmal kann es notwendig sein, die geänderten IDs oder Klassen durch Zuweisen eines "! Important" zu "nageln".
Ich weiß nicht, ob dies Stand der Technik ist, aber es schadet nicht und funktioniert einwandfrei.
quelle
Ein anderer sehr eleganter Weg ist, die Spezifität von CSS zu nutzen.
Also, wenn die CSS des Plugins sagt:
Sie definieren in Ihrem CSS:
Siehe auch die Antwort von Michael Rader für eine ähnliche Frage.
quelle
Um das CSS des Plugins zu überschreiben, das bereits die Spezifität und! Important verwendet, habe ich die ID verwendet, um die Klassen zu überschreiben. Das hat meinen Code ein bisschen aufgeräumt. Natürlich ist es auch keine perfekte Lösung, da es nur funktioniert, wenn sowohl Elementen als auch Klassen IDs zugewiesen sind.
Sie können theoretisch auch Attributselektoren verwenden. Ich muss diese Theorie jedoch noch auf die Probe stellen.
quelle
Am Ende habe ich! Important für mein benutzerdefiniertes CSS verwendet und das hat das Styling für das Plugin, mit dem ich Probleme hatte, außer Kraft gesetzt. Der Entwickler des Plugins verwendete! Important im gesamten Plugin-CSS und deshalb konnte ich es nicht ohne! Important überschreiben.
quelle
Um das CSS des Plugins zu überschreiben, das bereits die Spezifität und! Important verwendet, habe ich die ID verwendet, um die Klassen zu überschreiben. Das hat meinen Code ein bisschen aufgeräumt. Natürlich ist es auch keine perfekte Lösung, da es nur funktioniert, wenn sowohl Elementen als auch Klassen IDs zugewiesen sind.
Sie können theoretisch auch Attributselektoren verwenden. Ich muss diese Theorie jedoch noch auf die Probe stellen.
quelle