Vous parcourez les articles du blog de la catégorie "Astuces".

« margin » ou « margin-left » ?

le Dimanche 22 mai 2011 - Astuces - 7 commentaires

La question vient d'être posée il y a quelques instants sur par p0ulpe sur Twitter : vous êtes plutôt "margin-left:10px" ou "margin:0 0 0 10px" ? A ma grande surprise, la réponse qui l'a emporté "haut la main" est la première. Ca fait bien longtemps que je n'utilise plus que l'écriture raccourcie de la propriété "margin" en CSS, et voici pourquoi.

Premièrement, l'écriture raccourcie est bien meilleure pour la maintenance d'un site. Si on doit ajouter une marge sur un autre côté de sa balise, on n'a plus qu'à placer la bonne valeur au bon endroit. En utilisant la version longue, si on doit ajouter une nouvelle marge, on va soit être tenté d'utiliser à nouveau une version longue, ce qui va considérablement rallonger le code, ou alors (si on a un peu d'amour propre) on va modifier le code et perdre du temps à ré-écrire les marges avec l'écriture raccourcie de margin.

Deuxièmement, l'écriture raccourcie est, comme son nom l'indique, plus courte. Enfin, presque. C'est vrai pour la valeur bottom uniquement (on gagne 3 caractères \o/). On a une égalité pour les valeurs top et right. Mais on perds 1 caractère pour la valeur left.

margin-left:5px; /* 16 caractères */
margin:0 0 0 5px; /* 17 caractères */
margin-right:5px; /* 17 caractères */
margin:0 5px 0 0; /* 17 caractères */
margin-top:5px; /* 15 caractères */
margin:5px 0 0; /* 15 caractères */
margin-bottom:5px; /* 18 caractères */
margin:0 0 5px; /* 15 caractères */

C'est certes une optimisation minime, mais combinée à l'amélioration de la maintenance du site, c'est à mon avis 2 points importants qui vont faire la différence. La seule raison pour laquelle j'utilise "margin-left", c'est pour surcharger cette valeur uniquement.

La seule autre raison que je peux imaginer qui puisse pousser certains à utiliser systématiquement cette écriture, c'est la facilité de lecture pour un débutant. Très souvent, j'ai vu des intégrateurs novices lutter à se souvenir de l'ordre des valeurs de la propriété "margin". Un bon moyen mnémotechnique pour se souvenir de l'ordre des valeurs et leurs côtés correspondant est de penser à une horloge. Les 4 valeurs de la propriété "margin" se lisent dans le sens des aiguilles d'une montre : top, right, bottom et left.

margin:12px 3px 6px 9px;

Tags :

Flash et son bug des fenêtres pas redimensionnables

le Vendredi 13 août 2010 - Astuces - 2 commentaires

Si comme moi vous faites du Flash de temps en temps, vous vous êtes sûrement déjà arraché les cheveux avec certaines horreurs de l'interface du logiciel d'Adobe. Hier, c'est un de mes collègues qui a rencontré le problème suivant sur lequel j'étais déjà tombé.

Parfois, certaines fenêtres contextuelles (comme la console de sortie, ou la fenêtre de code) deviennent anormalement hautes, et dépassent le bas de l'écran. Il est alors impossible de les redimensionner car le coin bas-droite de la fenêtre est désormais inaccessible. Sous Mac, avec Flash CS3, on peut facilement redimensionner la fenêtre par en haut. Par contre, sous Windows 7, avec la CS5, c'est à priori impossible. Vous aurez beau cliquer sur tous les boutons, masquer ou réduire la fenêtre, rien n'y fait. Rien ? Si vous suivez les étapes suivantes, et uniquement dans ce cas là, vous pourrez vous en sortir comme par magie. Vous avez le droit de devenir rageux au passage.

Flash et son bug de redimensionnement des fenêtres

C'est bien sûr totalement la qualité attendue d'un logiciel professionnel qui coûte 837€. Et ça encore, c'est rien comparé aux énormes erreurs qui jonchent tous les solutions de la suite Adobe, dont vous pouvez vous délecter sur l'excellent blog Adobe UI Gripes.

Gmail et les marges sous les images

le Jeudi 29 juillet 2010 - Astuces - 5 commentaires

Le bug des marges avec les images dans Gmail

Depuis mai 2010, Gmail affiche une marge sous chaque image. C'est bien embêtant puisqu'un e-mail est composé principalement d'images, de tableaux et d'offres pour du viagra. Heureusement, il y a une solution toute simple proposée entre autres par CampaignMonitor. Il suffit d'ajouter sur chaque image concernée un style="display:block;" directement dans votre balise img. Vous obtiendrez alors quelque chose comme ça : <img src="ch34p_v14gr4.jpg" style="display:block;" />. Tadam !

Ce problème n'est pas directement lié à Gmail, mais à HTML5. En effet, en passant une page en doctype HTML5, les navigateurs affichent différemment les images, probablement en prenant en compte une hauteur de ligne (line-height) différente.

La Redoute touche le background

le Lundi 19 juillet 2010 - Astuces - 1 commentaire

L'image de background de La Redoute est quand même cracra.

Depuis environ 1 an, La Redoute a la bonne idée d’intégrer des images très larges en fond de site. C'est le cas par exemple en ce moment pendant les Soldes. Si le résultat est plutôt chouette sur un écran dans une résolution inférieure à 1500px de large, c’est tout de suite moins sympa dès qu’on dépasse cette résolution. Et si on en croit NetMarketShare, près de 10% des internautes seraient dans des résolutions supérieures. On pourrait alors comprendre qu'il n'est pas nécessaire pour La Redoute de perdre du temps pour une si petite part de ses visiteurs. Sauf que ça ne prendrait que 10 minutes de :

  1. Créer une image d'1px de large à partir d'un des côtés de l'image existante.
  2. Raccorder avec l'image principale des 2 côtés avec l'image de 1px répétée.
  3. Mettre l'image d'1px en background de la balise <html>.
  4. ?
  5. Profit.