Sunfox

Le journal de Sunny Ripert


Articles mot-clétés css

Rédécouvrons cursor:progress

Il y a 4 mois en fin de matinée, 4 commentaires.

L’interface utilisateur passe aussi par la forme du curseur. Peu utilisée en CSS, la propriété cursor regorge pourtant de valeurs dont on peut se servir pour aider l’utilisateur dans une application web (wait progress help default pointer text vertical-text crosshair move -moz-grab -moz-grabbing -moz-copy -moz-alias -moz-zoom-in -moz-zoom-out -moz-cell -moz-context-menu not-allowed no-drop nw-resize n-resize se-resize sw-resize s-resize e-resize w-resize ne-resize col-resize row-resize).

Par exemple, pour indiquer qu’un chargement a lieu via Ajax, plutôt que d’afficher une image de loader animée, un style CSS peu suffire :

.loading, .loading a, .loading input, .loading textarea {
	cursor: progress;
}

Ne reste plus qu’à appliquer la classe loading au body dès que la page fait un appel Ajax ou un long traitement.

Si vous utilisez Prototype ajoutez ces quelques lignes pour que la classe soit appliquée automatiquement tant qu’un appel Ajax a lieu :

Ajax.Responders.register({
  onCreate: function() {
    $$('body').first().addClassName('loading');
  },
  onComplete: function() {
    if (Ajax.activeRequestCount == 0)
      $$('body').first().removeClassName('loading');
  }
});

CSS Naked Day Havoc

Il y a 4 mois, 2 semaines terriblement tôt le matin.

Le CSS Naked Day est une idée rigolote, que j’ai mis en place avec entrain sur mon blog. Elle consiste à ce que tout le monde désactive ses feuilles de style à une date donnée pour promouvoir les standards du Web.

C’est pourquoi le 5 avril mon blog désactivait ses styles en affichant un petit message et un lien vers le site officiel. Tout était automatique pour ne pas avoir à modifier l’apparence de mon site à minuit, en utilisant un morceau de code PHP qu’ils proposent eux-même sur le site officiel.

Manque de pot ils ont décidé de changer la date ! Cette année le jour du CSS tout nu tombe le 9 avril, alors que les deux années précédentes la date était fixée au 5. Évidemment cela casse les très nombreux plugins ou scripts qui ont été crées pour l’événement, comme ce que j’utilisais sur mon blog.

D’après le site officiel la date est désormais fixée au premier Mardi, Mercredi ou Jeudi d’avril qui ne soit pas le 1er avril. Oui. C’est carrément nul.

J’arrète donc de promouvoir cet événement jusqu’à ce qu’ils ne remettent une date fixe. Ou au moins quelquechose de calculable. Comme le premier mardi d’avril à part le 1er, au moins je pourrais le calculer et ne pas avoir à éditer le code de mon site chaque année…

La sémantique des classes

Il y a 9 mois, 1 semaine en fin de soirée, 5 commentaires.

class="pas-class"

En HTML le nombre de classes et le nom des classes est libre. Néanmoins il est bon d’utiliser des classes sémantiques, décrivant la fonction de la balise plutôt que son style.

Exemples

Sémal Sémantique
<strong class="red"> <strong class="important">
<div class="sidebar"> <div class="aside">
<ul class="large-column"> <ul class="menu">

Pourquoi faire ?

De cette façon en utilisant des feuilles de style CSS l’on peut décider de changer les couleurs et l’affichage des pages sans avoir à changer l’HTML ou d’avoir des styles illogiques tels que .red { color:pink; }. D’autre part votre site peut avoir plusieurs feuilles de style (impression, mobile, slide, …), où vous pouvez décider par exemple que la classe large-column serait dans ce format… ni large, ni en colonne.

Ce n’est pas très grave si quelques-unes de vos classes décrivent l’apparence finale plutôt que la fonction de votre texte. Néanmoins c’est important dans une démarche qualité globale et cela augmente la réutilisabilité de votre code.

Tout ça pour en venir aux frameworks actuels

Les frameworks CSS qui foisonnent ces derniers temps tels que Blueprint CSS et YUI Grids CSS imposent sciemment l’utilisation de classes telles que <div class="column span-15">. C’est dommage. C’est pourquoi je les évite.

J’attends que les implémentations de CSS dynamiques telles que CleverCSS intègrent les fonctionnalités appréciables de ces frameworks. Mais je n’ai encore vu personne avancer cette idée. Ils pourraient pourtant par exemple avoir des propriétés magiques de type colspan: 15 qui se transformeraient en code nécessaire à la création d’une colonne à la bonne taille… Lazyweb te sens-tu le courage ?

Pas de liens sur les images

Il y a 3 ans, 5 moiss terriblement tôt le matin, 5 commentaires.

Voici le grand principe html du jour : ne pas faire de liens hypertexte sur les images. Je m’explique.

Suite de l’article…

Coulisses du Roi Arthur

Il y a 3 ans, 7 moiss à midi, 4 commentaires.

Ça y est, le site du Roi Arthur est né, et c’est moi qui l’ai fait !

Chez Dualnet mon dernier projet a été de construire de A à z le site du DVD du Roi Arthur le film, pour Disney. C’est la première fois que je fais ce genre de site, et j’ai dû le faire entièrement tout seul.

Je suis assez fier du résultat, surtout en ce qui concerne l’html valide, léger et sémantique et le sacré usage des feuilles de style.

Croyez moi, ce respect des standards et cette accessibilité est une révolution dans ce genre de sites. Les sites commerciaux, de films, de DVDs et plus largement de publicité sont tous sauvagement crées pour ne fonctionner que chez la grosse partie des utilisateurs, en oubliant le reste.

C’est sans doute le seul site de film qui puisse être visité proprement à partir d’un PDA. Ou bien encore visité par un téléphone portable, un moteur de recherche ou encore un aveugle. (Si si, les aveugles aussi ont le droit de tout savoir sur le DVD du Roi Arthur… :p)

Class ou id ?

Il y a 4 ans, 1 mois en fin de matinée.

Pour définir le style CSS d’un élément d’ XHTML, que choisir entre une classe (.robert) et un id (#robert) quand cela donne apparement le même résultat ?
que choisir entre un <div class="robert"> et un <div id="robert"> ?
Suite de l’article…


:D Sunny Ripert

est un développeur web vivant à l'Île-Saint-Denis.

CV, me contacter


Textes et contenus sous licence Creative Commons.
Site crée par mes soins et propulsé par WordPress. Questions, informations ? Contactez-moi.