fastclemmy.com

Vite fait bien fait

# 10-12-2003

Maintenant que vous êtes sûr que votre site est complètement valide, il est peut-être temps de remettre le nez dans le code pour l'optimiser un peu. Voici quelques conseils pour faire le ménage de printemps (puisque *hum* c'est la saison) dans votre HTML et votre CSS.

A réserver aux codeurs avertis bien sûr.

Raccourcis déclaratifs

Il existe plusieurs moyens de déclarer une couleur dans un fichier CSS. Prenons par exemple la couleur blanche : white, #ffffff et #fff sont équivalents. La dernière façon de procéder révèle qu'on peut économiser des doublons hexadécimaux en mettant une seule fois la valeur, de même la couleur rouge sang #ff0000 pourra s'écrire #f00.

Les propriétés d'arrière-plan peuvent également bénéficier d'une cure d'amaigrissement :

p {background-image:url(../images/fond.gif); background-color:#ccc; background-position:50% 50%; background-repeat : no-repeat; background-attachment: fixed; }

devient ainsi

p {background: url(images/fond.gif) #ccc 50% no-repeat fixed }

Idem pour les bordures, les marges et le padding :

margin: 8px 2px 1px 4px;

Cette ligne de CSS fixe l'épaisseur des marges dans le sens des aiguilles d'une montre (haut, droite, bas, gauche).

Le regroupement de propriétés

Au fur et à mesure de l'écriture de votre fichier CSS, vous allez rapidement avoir des propriétés en commun. A la fin du projet il est temps d'y rejeter un oeil et d'optimiser le tout. Comment faire ? C'est très simple :

div#menu { margin-left:5px; background-color:#ccc; } div.onglet { background-color:#ccc; } div#menuVertical { background-color:#ccc; padding-right:3em; border-top:1px solid black; }

devient ainsi

div.onglet, div#menu, div#menuVertical { background-color:#ccc; } div#menu { margin-left:5px; } div#menuVertical { padding-right:3em; border-top:1px solid black; }

On déclare les propriétés communes aux différents styles, puis on déclare ce qui les différencie.

Optimisation HTML : les bienfaits du ciblage CSS

Quand on débute en XHTML/CSS, on a tendance à user et abuser des <div> et autres <span> pour pouvoir les styler dans son fichier CSS. Par exemple, on peut écrire pour un en-tête de site :

<div id="enTete"><h1>Mon titre de site</h1></div>

En fait, ici le <div> n'a aucune valeur ajoutée, aucun sens. On peut donc le supprimer sans regret et cibler le texte "Mon titre de site" en stylant le <h1> dans le fichier CSS. L'exemple est trivial, mais cette philosophie d'ensemble s'applique à de nombreux cas.

Pour en savoir plus, consultez les liens suivants :
Introduction to CSS shorthand properties
CSS Shorthands, part I
Writing efficient CSS

#xhtmlCSS

Vos commentaires

be-rewt - site -
Et tant qu'on y est, on peut supprimer les ";" qui suivent toutes les dernières propriétés d'un bloc (encore que là, c'est vraiment un truc de rapiat pour sauver quelques malheureux octets).

selarips -
/ à supprimer après correction, je suis pas là pour foutre la zone non plus
je dis pas ça pour jouer au con mais cette news ne valide pas

fastclemmy - site -
Merci selarips, c'est corrigé. En fait le problème n'était pas spécifique à ce log, mais à tous. Cleanage de code = validation qui roule.

Moi qui ne validais que la page d'accueil après avoir rédigé chacun de mes logs, me voilà bien pris !

Anubis - site -
Concernant ton dernier point, j'ajouterais qu'un bon découpage de la page avec des permet souvent de séparer suffisament les contextes pour ne plus avoir besoins de classes.

Gatan - site -
Je me permet d’ajouter un type de sélecteur qui peut se révéler très pratique c’est "*".
Ce sélecteur permet de sélectionnez l’ensemble des éléments d’un conteneur.
Exemple :
body * {border: 1px red solid;}
permet d’aficher une bordure rouge à l’ensemble des éléments de "body".
* div {border: 1px red solid;}
permet d’afficher une bordure rouge sur l'ensemble des éléments "div" appartenant au document.

Gatan - site -
Je viens de me pencher sur les sélecteurs par attributs voici donc deux lignes à ajouter à vos pages pour un débuggage les doigts dans le nez :

*[id]:before {
content:"ID:"attr(id)"";
color: white;
font-size: 0.8em;
padding: 0.1em;
background: red;
}
*[class]:before {
content:"class:"attr(class)"";
color: white;
font-size: 0.8em;
padding: 0.2em;
background: red;
}
Ces deux styles permettent (dans un navigateur avancé, genre Firebird), d’afficher les noms de "class" et d’"id" pour chaque élément de la page.

JMF - site -
Gatan, il est plus simple dans ce cas d'utiliser l'extension pour Mozilla et FireBird WebDevelopper. (http://chrispederick.myacen.com/work/firebird/webdeveloper/)

En plus de faire cela elle a bien d'autres fonctions indispensables pour le développeur Web.

Gatan - site -
Aussi…JMF
Mais c'était surtout pour montrer par l’exemple la puissance de ce mode de sélection.

gizmo - site -
Ganta, dans le deuxième exemple de ton premier post, le * est inutile.

gatan - site -
Exact.

Edward - site -
Example is giving by the Gatan is understandable.

Jaydin - site -
You really are an amazing to come up with this kind of content.

important source - site -
Thanks for this awesome resource... I really appreciate all your hard work for this post!

Gage - site -
I heard lot of great reviews on your website that’s why I came here.

best nootropics - site -
Love this! Thanks for great resource. I got some new and useful ideas here..

como fazer o desfralde noturno - site -
I am glad you have started this blog, I am always looking for quality articles and your blog has it.

raising chickens - site -
Be thankful for you extremely considerably for this useful launch

protein powder reviews - site -
There are so much in this article that I would never have thought of on my own. Your content gives readers things to think about in an interesting way.

Donovan - site -
You did a great job on this writing. All of it was stunning.

Larry - site -
I have known your website from my friends. All of it was stunning.

bridesmaid presents - site -
I have read your article, it is very informative and helpful for me. I really admire the valuable information you offer in your articles.

online dance fitness class - site -
I found your blog using google search. This is a very well written article. I’ll be sure to bookmark it and come back to read more of your useful info.

best testosterone booster 2017 - site -
Outstanding help as well as will not important have and acknowledging

Collin - site -
Your points of views were stunning I was just amazed with all of your thoughts.

sex supplements - site -
Look throughout how supplying the essential aspects of a recommend recognize out

Ajouter votre commentaire