CreatiQ.fr

Une Communauté

Plus de 4672 membres !

S'inscrire et progresser

Devenir membre sur creatiq.fr

Une recherche ?

  • L'optimisation de votre CSS

    Ce fameux langage qui nous sert à styliser notre page, prenez en soin ! Je ne vais pas déclarer  dans ce billet, toutes les propriétés CSS existantes, mais je vais vous parler,  de toutes les erreurs qu’on fait la plupart du temps et qui pourront  nuire à la performance de notre site.

     

    Un Reset CSS ?

     

    On le sait tous,  nos amis les navigateurs, ne sont pas parfaits. Chacun d’entre eux peut réagir différemment en fonction de votre CSS, et surtout Internet Explorer, hein..^^

    Pour y remédier pensez à votre Reset CSS.

    À quoi sert-il ? Tout simplement à réinitialiser à o la valeur de certains éléments HTML, afin d’éviter certains problèmes d’affichage sur les différents navigateurs.

    Un Reset CSS super connu, celui d’ Eric Meyer guru du CSS, disponible ici : http://meyerweb.com/.

     

    Pensez raccourci !

     

     

    Ici par exemple je souhaite avoir une margin-left et margin-right de 50 px. Jusqu’ici tout va bien, mon code fonctionne. Seul bémol, on pourrait utiliser un raccourci css pour gagner 3 lignes de CSS,  voir l'exemple 2.

     

    Vous allez me dire ce ne sont que 3 petites lignes, oui bien sur, mais si on cumule le nombre de lignes qui pourrait être raccourci, comme dans l’exemple ci-dessus, la performance d'affichage se fera ressentir. D’autres exemples :

     

     

     

    Répétition superflu

     

    J’applique souvent les mêmes propriétés pour plusieurs éléments. J’ai souvent plusieurs sélecteurs qui font le même job. J’ai eu tendance à faire ceci auparavant :

     

     

    Alors que si on fusionne les deux on gagne énormément de ligne CSS :

     

     

    Phobie de l’espace ?

     

    Quand on veut à tout pris réduire la taille de son CSS pour une performance accrue, tous les espaces en trop dans votre CSS comptent !

    Dans un premier temps, je suis d’accord que c’est plus agréable d’aérer votre CSS, pour une meilleure lisibilité. Mais dès que votre site sera en ligne, pensez à la minification de celui-ci.

    Pourquoi je plébiscite la minification ?

    C’est très simple à mettre en place et le gain de performance est important, un prochain tutoriel sera dédié à cette technique.

     

    Utiliser une ou plusieurs feuilles de style ?

     

    Alors ici, je vais être subjectif. Ce que je fais c’est assez basique, un CSS pour le site et autres pour les bugs IE6 & IE7. Chacun dans un répertoire.

    Lorsque j’ai débuté j’utilisais un truc du genre similaire à ceci :

     

    @import url("style.css");
    @import url("ie6.css");
    @import url("ie7.css");
    @import url("police.css");
    @import url("design.css");

     

    Assez noob, je sais :)

     

    Moi je vous conseille encore une fois de gagner en rapidité, et de ne pas charger 100 fichiers CSS pour afficher une page web.

    Pour finir, construisez de façon logique votre CSS. Pensez à la fois prochaine, ou vous devriez revenir sur votre feuille de style.

    Comme d’habitude, j’attends vos retours :)

    5 Commentaires
    dhoko
    lundi 14 mars 2011
    Wep performance performance non. Optimisation plutôt :)
    Pour voir des perfs un benchmark et des recommandations sur comment utilisé le CSS est plus adapté de mon point de vue haha.
    Avec la compression gzip et un minimifieur on peut coder très proprement ça revient au même donc bon. Par contre ça n’empêche pas d'optimisé son code comme tu le montre.

    Pour les multiples CSS pour IE 1 seul est utile, avec les hacks on peut se permettre de faire 1 feuille propre à valider et une crado pour IE (avec les hack ) je pense. Après séparé la mise en forme du reste peut être utile suivant le type de projet.
    Pour un thème unique il est pratique de tout mettre dans un CSS mais, pour un thème qui va avoir de multiples variantes et beaucoup de paramètres un CSS pour le texte, design, color... est pas mal (je viens d'être confronté à cette problématique c'est pour ça ;) )

    PS: ton textarea est à 80px c'est ridiculement petit :) et surtout il n'est pas resizable... J'ai du passé par firebug pour écrire^^
    PS2: "<i>e plus simple a assimilé</i>" => à mordre^^
    JEi
    lundi 14 mars 2011
    Merci pour ta contribution DHOKO :)
    Pour moi, si tu veux que ton site soit performant, tu dois l'optimiser auparavant ^^
    PS: j'vais changer le textearea et l'erreur :)
    greg
    jeudi 31 mars 2011
    Les "repeat" ne fonctionne pas sous ie6...je crois ^
    JEi
    jeudi 31 mars 2011
    @Greg

    Tu parles des background-repeat?
    shadoo
    vendredi 01 avril 2011
    au sujet du premier com je sais pas mais tu parles de hacks css, il vaut mieux utiliser des commentaires conditionnels que des hacks css justement.
    les hacks css pour certains d'ailleurs cela s'est déjà vue, ne fonctionnent plus et cela pourris la lisibilité d'un feuille de style plus qu'autre chose, il suffit après d'avoir un projet où le client désire un code dans les normes W3C xhtml et css et là, les hacks css c'est by by.

    Cela équivaut à faire du javascript intrusif limite. Sur une feuille de style avec plus de 2000 ligne c'est pas loin d'être top les hacks.

    Il vaut mieux séparer ses feuilles de styles et ca n'est en aucun cas "noob" tant que l'on exagère pas sur le nombre de feuilles de styles implémentés mais là encore tout dépend de l'envergure du projet.

    Sur un gros projet nécessitant beaucoup d'intégration, l'optimisation du code css est d'ordre mais le nombre de ligne et feuille de style c'est out-of-ton-bed.
    on se concentrera beaucoup plus sur l'optimisation du code de programmation, requête sql optimisé et un code js le plus propre possible.
    Pseudo :
    Mail :
    Website :
    Message *