Bonnes pratiques en HTML-CSS

Transcription

Bonnes pratiques en HTML-CSS
Bonnes pratiques en HTML
Aucune information sur l’apparence/style ne doit être présente dans le HTML : on ne
trouve que du contenu, des ressources pour le site et de la description.
On ferme les TAGS, on n’entremêle pas les TAGS, on utilise tous les attributs requis et on
vérifie qu’il est valide W3C.
Blocs descriptifs : choisir des éléments qui décrivent bien le contenu lorsque c’est
disponible. (exemples: nav, footer)
Mettre des ID et non des classes (CLASS) si l'élément est spécifique… Par exemple, bloc9
n'est pas une classe mais un identifiant unique alors que blocImage ou blocLogo peut en
être une car plusieurs blocs vont être mis en page de la même façon. Eviter tout ce qui
peut paraître incohérent, bizarre ou illogique.
Mettre des attributs textuels aux images (alt) en précisant leur taille pour améliorer
l’efficacité du rendu. (Plus c’est précis, moins le navigateur doit faire des choix et
adapter).
Les chemins (paths) pour les ressources doivent être mis en relatif (par rapport à
l’endroit où l’on se trouve) par opposition à absolu (chemin complet); encore pour des
raisons d’efficacité et d’éviter les problèmes lorsqu’on déplace le site.
L’indentation doit être faite scrupuleusement : il est pénible de devoir commencer à
indenter pour voir si le code est correct : c’est fondamental avant de déboguer.
On conseille d’encoder directement les caractères spéciaux pour éviter les problèmes
d’affichage.
On commente uniquement ce qui n’est pas évident pour quelqu’un qui sait coder en
HTML 5/CSS 3 comme par exemple : la structure sous forme de lignes, colonnes et blocs
ou un bloc qui se comportera différemment des autres.
Passez au validateur HTML 5 pour corriger 90% des erreurs :
https://validator.w3.org/
Bonnes pratiques en CSS
Une seule page de style est bien plus facile pour gérer la mise en page, dans un dossier
css.
Si vous souhaitez une uniformité dans le style, mettez un ID sur le body et vous pourrez
ainsi modifier le contenu et l’apparence globale du site facilement.
Quand vous le pouvez, choisissez toujours % par rapport à px car cela servira l’année
prochaine pour avoir une approche dite « responsive design » (qui s’adapte à différents
formats).
Ne pas faire de pré-déclaration automatique CSS qui sera surchargée (remplacée)
ensuite… (recopier un code fait pour un autre site sans vérifier, adapter, mettre à jour.)
Exemple ci-dessous avec body (inutile et éventuellement trompeur même si dans cet
exemple, on ne fait qu’ajouter de nouveaux éléments qui ne perturbent pas les
précédents):
body,div,fieldset,input,img,a,a:hover,select, ul, p, h1, h2, h3, h4, h5, h6, iframe {
margin:0;
padding:0;
border:0;
text-decoration:none;
outline:none;
list-style:none;
vertical-align:bottom;
white-space:normal;
}
body {
color: black;
background-color: white;
background-image: url(images/bg2.jpg);
}
De plus, pour plus de clarté, on devrait trouver un seul sélecteur par ligne (=retour à la
ligne après les ,). Rappelez-vous qu’ils sont appliqués par ordre d’apparition dans le
fichier (de haut en bas). Un ordre est conseillé (cf. ci-dessous).
Les accolades fermantes doivent se trouver seules sur une ligne.
L’ordre conseillé par bloc css est le suivant :
1/ Positionnement (position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100;)
2/ Modèle de boîte (display: block; float: right; width: 100px; height: 100px;)
3/ Typographie (font: normal 13px "Helvetica Neue", sans-serif; line-height: 1.5; color: #333; textalign: center;)
4/ Effets visuels (background-color: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 3px; )
5/ Autres-Divers
Passez au validateur CSS ce qui permettra de corriger 90% des problèmes.
http://jigsaw.w3.org/css-validator/ - validate_by_input