SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 79 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Base CSS pour SPIP > Ordre d’appel des feuilles de style

Ordre d’appel des feuilles de style

21 mai 2011 – par tetue

10 votes

En adoptant un ordre d’appel qui donne successivement la main à la base CSS, aux plugins, puis au webmestre, la méthode Daisy permet de limiter les risques de conflit de style liés aux apports des différents plugins, pour une meilleure modularité dans SPIP.

Ordre d’appel des feuilles de style

Les déclarations CSS sont regroupées par fonctionnalité (et non par média, navigateur ou autre). L’on procède ensuite par surcharges successives, chacun son tour.

  1. Base CSS
    Aussitôt activée, cette base CSS insère les fichiers présents qui portent ces noms (d’après la nomenclature de la méthode Daisy), en première position, avant toute autre feuille de style et dans l’ordre suivant :
    1. reset.css : correction des styles par défaut (mise à zéro multinavigateurs)
    2. typo.css [*] : base typographique
    3. form.css : base pour les formulaires
    4. spip.css [*] : styles associés au code généré par SPIP
    5. clear.css [*] : trucs pour faciliter la mise en page
    6. grid.css (si vous la fournissez)
    7. layout.css (à remplacer par le vôtre)
  2. Plugins
    Les plugins insèrent leurs feuilles de style ensuite (via #INSERT_HEAD_CSS). Ils bénéficient donc de cette base CSS. On aura par exemple :
    • colorbox.css
    • skiplink.css
    • comments.css
    • links.css
    • ...
  3. Styles perso
    Personnalisez en ajoutant vos styles en dernier pour avoir le dernier mot, comme ceci (en autant de feuilles que bon vous semble) :
    [<link rel="stylesheet" href="(#CHEMIN{css/style.css}|direction_css)" type="text/css" />]

Remarques et avantages

Plus besoin de spip_style.css !

Les feuilles de style historiques de SPIP (spip_style.css, spip_formulaire.css, etc.) ne doivent pas être utilisées, puisque cette base CSS les remplace. Celles-ci disparaissent d’ailleurs de SPIP 3, qui adopte cette base CSS pour l’espace privé, depuis la révision 17937.

Pas besoin de feuilles par navigateur

Mieux vaut utiliser les classes conditionnelles pour Internet Explorer (« .ie », « .ie6 », « .ie7 », etc.) selon la méthode expliquée à cet article (en troisième partie) : « Cibler Internet Explorer dans une CSS ? Oui, et sans hack. » — plus précisément appliquées sur la balise <html>, plutôt que <body>, si si, comme dans HTML5 Boilerplate.

Pas besoin de feuilles par média

Sauf cas particulier, les surcharges pour l’impression et autres medias s’effectuent au fil de l’eau, dans la même feuille, grâce à la règle CSS @media suivie directement du type. De cette façon, on conserve groupées toutes les déclarations qui concernent un même élément, ce qui améliore la modularité fonctionnelle et facilite la maintenance.

Pas besoin de feuilles par langue

Il n’est pas nécessaire de fournir de feuille pour chaque version linguistique d’un site, même au sens de lecture inversé comme l’arabe ou l’hébreu, puisque SPIP génère les feuilles nécessaires (grâce au filtre |direction_css), en inversant les valeurs right et left. Kiffant !
Si besoin, utiliser les sélecteurs de langue .fr, .en, .de, etc.

Pas besoin de script de compression

On le sait, démultiplier ainsi les fichiers n’est pas très performant. SPIP se charge de concaténer et minifier tous les fichiers CSS (et JS) en un seul [*], de façon très appréciable.

Notes

[*Ces feuilles de style, générées par SPIP, portent au final un autre nom, méconnaissable et barbare, comme par exemple : « 0876b42b41ad9570126df542945dc174.css ».

Dernière modification de cette page le 21 janvier 2012

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mots arborescents

    12 octobre 2015 – 15 commentaires

    Ce plugin permet de gérer une arborescence de mots-clés. La configuration d’un groupe de mots dispose d’une nouvelle option pour autoriser pour ce groupe les arborescences de mots-clés. Dans ces groupes, des mots enfants peuvent être créés pour (...)

  • ORR v2

    21 mai 2013 – 111 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Social tags

    8 septembre 2008 – 448 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Mailshot

    16 janvier 2013 – 309 commentaires

    Ce plugin prend en charge l’envoi en nombre d’info-lettres par email. Mailshot permet l’envoi en nombre d’emails au moyen d’un SMTP (ou d’un service externe) dédié à cet effet. Il permet de limiter la cadence d’envoi. Enfin, ce plugin implémente la (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans le corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)