La deuxième des deux feuilles de style invoquées consécutivement peut-elle remplacer tous les styles définis dans la première?

StackOverflow https://stackoverflow.com/questions/1054362

Question

Si j'ai une page HTML qui renvoie à deux feuilles de style appelées comme ceci:

<link rel="stylesheet" href="original.css" media="screen, projection" />
<link rel="stylesheet" href="override.css" media="screen, projection" />

Si ces deux fichiers définissent exactement les mêmes noms de style, est-il vrai que original.css n'aura aucune incidence sur le résultat de la page stylée et que tous les styles proviendront des styles définis dans override.css?

La raison pour laquelle je pose cette question est la suivante: j’ai un <=> impossible à modifier et je ne souhaite pas toucher aux lignes de code qui appellent ce fichier. Au lieu de cela, j'aimerais insérer un appel dans mon nouveau fichier juste après l'appel de l'original et remplacer tout ce qui est défini dans l'original. Je ne sais pas si cela fonctionnera, s'il est conseillé, etc.

Était-ce utile?

La solution

Oui, ça le peut. C'est le morceau de feuilles de style en cascade en cascade.

Je dois demander cependant, pourquoi vous ne pouvez pas simplement supprimer original.css, ou ne pas le produire, ou .... quelque chose? Cela ressemble à une approche très Big Hammer pour tout annuler dans l’original :-) Si vous exportez effectivement original.css et override.css, le navigateur devra faire beaucoup plus de travail que si vous deviez simplement sortir override.css.

Autres conseils

Oui, cela fonctionnera. Vous avez raison, ce n'est pas vraiment conseillé. Au lieu de & Quot; ne pas toucher & Quot; les lignes de code d'origine, pouvez-vous insérer des balises de commentaire autour de celui-ci?

Il va écraser tout ce qui est écrasé mais va compléter tout, ce n’est pas la même chose mais des informations appliquées différentes pour une classe, un id, des pseudo-sélecteurs ou autre. Je veux dire, IE:

original.css -

p { margin: 4px 6px 10px 12px; }
h1 { font-size: 2.2em }

override.css -

p { padding: 6px; color: #666666; }
h1 { font-size: 1.5em }

Ce que j’ai dit, c’est que P est complémenté dans override.css car les styles ne sont pas en conflit. D'autre part, l'exemple H1 est en effet écrasé et les deux règles de chaque feuille de style sont en conflit, de sorte que la dernière déclaration gagne.

Ce n’est pas aussi grave que l’on pourrait penser ... Je viens de terminer, il y a quelques mois, un site en moodle qui est une maison de fous de styles et de données similaires. Le modèle a utilisé les données de feuille de style du modèle DEFAULT, puis du modèle PAGE, puis de COURSE. Quand j'ai essayé de comprendre quel style faisait ce que j'étais tellement stressé de ne pas trouver le code correct à modifier pour le mien ... j'ai finalement décidé de joindre une feuille de style avec les nouveaux styles écrasés et complétés. cela m'a fait économiser environ deux semaines à creuser dans un enfer de code d'un concepteur qui n'a jamais rêvé.

J'espère que cela vous aidera à avoir une idée plus claire.

Au revoir.

Sharepoint est un excellent exemple de ce besoin. Toute modification de thème vous laissera toute une série de modifications à remplacer par la classe core.css.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top