Jump to content

Pourquoi le css inline plus fort que theme.css ou custom.css ?


Natc77
 Share

Recommended Posts

Bonjour,


Ca fait plusieurs fois que j'ai le problème, je mets un style dans theme.css ou dans custom.css mais c'est le css inline qui est pris en compte alors qu'il n'y a aucun css inline (ou du moins rien d'apparent dans le tpl et je doute que ce soit dans le php).

Exemple attaché, le prix s'affiche en gris foncé au lieu de rose foncé. C'est sur les miniatures du catalogue.
Il y a un truc particulier avec le css inline sur Prestashop ?

inline.jpg

Share this post


Link to post
Share on other sites

Bonjour,

simplement que les fichier css sont chargés avant que le css présent en ligne du fait d'un module ou d'un code dans le tpl header soit pris en compte donc le dernier a toujours le dernier mot.

Regardez le code source de la page et ce css devrait apparaitre et peut être vous indiquer quel module le place là.

Share this post


Link to post
Share on other sites

inline:13 veut dire qu'une balise <style> a été insérée directement dans le template à la ligne 13 (ce qui est assez crade^^)

Celui-ci a pu être ajouté par un module, soit depuis le hook header soit par une injection javascript.

Share this post


Link to post
Share on other sites

@Eolia@Mediacom87 Sans le faire exprès j'ai trouvé un module de configuration du thème où j'ai retrouvé tous les inlines qui me posaient problème.
C'est ballot car quand j'en avais parlé au gars qui a installé le thème, il m'a fourni un css qui arrivait à surcharger alors qu'il suffisait d'aller dans ce module, c'est pourquoi aussi je continuais à chercher ce truc incompréhensible. Ça ne l'est plus :)

Share this post


Link to post
Share on other sites

à l’instant, Natc77 a dit :

@Eolia@Mediacom87 Sans le faire exprès j'ai trouvé un module de configuration du thème où j'ai retrouvé tous les inlines qui me posaient problème.
C'est ballot car quand j'en avais parlé au gars qui a installé le thème, il m'a fourni un css qui arrivait à surcharger alors qu'il suffisait d'aller dans ce module, c'est pourquoi aussi je continuais à chercher ce truc incompréhensible. Ça ne l'est plus :)

En même temps si ce genre de module est développé avec les pieds à faire du css inline on n'y peut pas grand chose.

  • Like 1

Share this post


Link to post
Share on other sites

Comme dit précédemment le css inline (via du JS) l'emportera car il est chargé après les styles.
C'est normal... Quand un site est bien fait, le CSS est chargé dans le header et le JS avant la balise </body>en fin de page donc.
Il y a une exception concernant le JS > JQUERY qui se charge dans le header
ou alors en début de la liste des scripts si c'est dans le bas de page.

Chargé du CSS via du JS, c'est un peu crade mais bon des fois...
Pour calculer par exemple, la position du sous-menu au survol, le module MAIN_MENU utilise un script qui pointe sur la class .js-sub-menu

Dans ton cas, ne t'embêtes pas... Force simplement le CSS avec un " !important ". C'est un peu sale mais bon...
Ou alors, localise la class que vise le JS et dans le fichier TPL regarde si en éditant la class (ajoute off- devant par exemple) çà a des incidences
car certaines fois, la class n'est là que pour du JS.

Edited by Bertrand-Kaer (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More