Actuellement, j'utilise la spécificité CSS pour remplacer les styles de plug-in. Je préfère ceci pour l'édition du plugin car cela fait moins de maux de tête lorsque vous mettez à jour.
Ce serait bien si ma feuille de style était chargée après les plugins, de sorte que je n’aie besoin que d’être aussi spécifique, pas plus. Cela rendrait mes feuilles de style beaucoup plus jolies.
Réponses:
Comme vous le suggérez, l'approche la plus élégante consiste à charger vos substitutions CSS après les injections de CSS par les plugins. C'est assez facile à réaliser - il vous suffit de vous assurer que vos
header.php
appelswp_head()
avant de faire référence à votre feuille de style:la source
Les plugins peuvent gérer les CSS de plusieurs manières.
wp_deregister_*
Globalement, à mon avis, il est préférable et plus facile de désactiver des feuilles de style distinctes et de les incorporer dans le vôtre afin de minimiser les problèmes et d’améliorer les performances (moins de fichiers à récupérer).
la source
Une autre manière assez élégante consiste à utiliser la spécificité de CSS.
Donc si le css du plugin dit:
vous définissez dans votre css:
Voir également la réponse de Michael Rader pour une question similaire.
la source
Je sauve une copie du plugin CSS "ne veut pas" dans le dossier du thème et l'importe dans le css du thème en ajoutant
(en remplaçant, bien sûr, le nom du fichier .css par celui que j’injecte). Ensuite, je modifie la copie css dans le dossier du thème et l’enregistre sur le serveur comme je le fais pour les autres fichiers. Oh oui, il est parfois nécessaire de "clouer" les identifiants ou les classes modifiées en leur attribuant un "! Important".
Je ne sais pas si cela est à la pointe de la technologie, mais cela ne fait aucun mal et fonctionne très bien.
la source
Pour remplacer le css du plugin, qui utilisait déjà la spécificité et! Important, j'ai utilisé l'id pour remplacer les classes. Cela a un peu nettoyé mon code. Bien sûr, ce n'est pas non plus une solution parfaite dans la mesure où cela ne fonctionne que s'il existe des identifiants attribués à des éléments ainsi qu'à des classes.
Vous pouvez également utiliser des sélecteurs d'attributs en théorie. Cependant, je n'ai pas encore testé cette théorie.
la source
J'ai fini par utiliser! Important pour mon css personnalisé et cela remplace le style du plugin avec lequel j'avais des problèmes. Le développeur du plugin utilisait! Important tout au long du plugin css et c'est pourquoi je ne pouvais pas l'écraser sans! Important.
la source
Pour remplacer le css du plugin, qui utilisait déjà la spécificité et! Important, j'ai utilisé l'id pour remplacer les classes. Cela a un peu nettoyé mon code. Bien sûr, ce n'est pas non plus une solution parfaite dans la mesure où cela ne fonctionne que s'il existe des identifiants attribués à des éléments ainsi qu'à des classes.
Vous pouvez également utiliser des sélecteurs d'attributs en théorie. Cependant, je n'ai pas encore testé cette théorie.
la source