Lepote a écrit :
Suite à cet article, j'ai cru comprendre qu'utiliser @import était déconseillé car il ne permet pas de charger simultanément les feuilles de style.
En fait la situation dépend du navigateur. Il n'y a rien qui, dans l'absolu, empêche de traiter @import aussi efficacement que link (sauf @import dans un fichier CSS, là il faut charger le CSS avant de pouvoir charger les feuilles de styles importées). C'est surtout que les implémentations actuelles (dans IE notamment) posent problème, et donc les experts en performances côté client déconseillent d'utiliser @import.
Lepote a écrit :
Néanmoins, je vois encore pas mal de site de "bons" webmaster qui utilisent @import.
Les essais sur le sujet, par Steve Souders, sont assez récents (mi-2009, de mémoire). Donc forcément il y a plein de sites qui utilisent @import. De plus, tout le monde n'est pas au courant des moindres détails d'optimisation front end. L'expertise en optimisation front end, c'est un métier à part, même si tout bon intégrateur web devrait avoir les bases et même un peu plus.
Lepote a écrit :
Au final? vous utilisés "link" ou "@import"?
@import en développement, link en production. En concaténant les feuilles de styles dans un seul fichier.
En développement, j'ai en général un fichier profile-all.css comme ceci:
/* =======================
WEBSITE OR PROJECT NAME
CSS profile: all styles
======================= */
/* Note:
This profile provides the list of CSS files to be concatenated and minified
in one single CSS file. The profile stylesheet should be named
`profile-<token>.css`, while the production-ready stylesheet should be
simply `<token>.css`.
*/
@import "base.css";
@import "global.css";
@import "content-generic.css";
@import "content-specific.css";
Tant que je ne suis pas prêt à passer en production, je fais un lien symbolique de all.css vers profile-all.css (ou une copie simple de profile-all.css, renommée all.css). Pour le passage en production, je concatène les fichiers mentionnés dans profile-all.css, en respectant l'ordre donné, et je passe le tout à la moulinette de YUI Compressor, essentiellement pour retirer les commentaires (avec option un bloc de déclarations par ligne), ce qui me donne mon fichier all.css optimisé.
Côté HTML, j'ai simplement:
<link rel="stylesheet" href="all.css">
(syntaxe HTML5, pour info).
Il y a bien sûr d'autres manières de faire.
Modifié par Florent V. (09 Jan 2010 - 15:42)