Grands principes du CSS, responsive design et entités HTML : les liens de la semaine 17

Voici les liens pour la semaine du 21 au 27 avril 2014 :

Bien parler le CSS, typographie et mobile design : les liens de la semaine 16

Voici les liens pour la semaine du 14 au 20 avril 2014 :

Centrer verticalement un élément aux dimensions inconnues

Le centrage vertical en CSS est certainement l'une des plus grandes frustrations du quotidien d'un intégrateur. Ce fonctionnement n'est en effet pas réalisable de manière simple (au contraire du centrage horizontal, par exemple) et, si il existe des astuces ou des moyens détournés pour le reproduire, ils ne sont jamais pleinement satisfaisants.

On aurait pu penser que les récentes avancées du langage CSS apporteraient une solution à cela, mais en 2014, il semblerait que ce ne soit toujours pas d'actualité.

En théorie, vous savez déjà tout ça.
De même, vous devez connaitre plus d'une technique pour centrer verticalement du texte ou un élément.
Cependant, la plupart de ces techniques fonctionnent uniquement dans des cas particuliers : lorsque l'élément parent ou l'élément cible ont des dimensions connues et fixes.

À l'heure du responsive design, ce n'est plus suffisant.

Centrer l'inconnu

Heureusement pour nous, il existe aussi des techniques pour centrer verticalement lorsque les dimensions ne sont pas connues à l'avance ou sont amenées à changer. Elles sont moins nombreuses (j'en compte 3) mais relativement efficaces :

  1. En utilisant display:table et display:table-cell,
  2. En utilisant position:relative et transform:translateY() (visible ici),
  3. En utilisant un élément « fantôme ».

Malheureusement pour moi, j'ai été confronté à un cas où les 2 premières solutions ne fonctionnaient pas :

La technique avec display:table et display:table-cell m'obligeait à ajouter des balises supplémentaires (ce qui n'est pas insurmontable, mais pas optimal) et la deuxième (avec position:relative et transform:translateY()) ne fonctionne pas sur WebKit lorsqu'elle est appliquée dans un élément parent en position absolue (bon à savoir).

J'ai donc décidé de faire une recherche sur Google pour voir si les usages avaient évolué et c'est là que j'ai pris connaissance de la 3ème technique au détour d'un article de CSS Tricks.
L'article date de 2011 (!), c'est donc une très vieille technique et pourtant je ne l'avais jamais croisée auparavant, ce qui est bien dommage car elle me parait être la meilleure.

Au niveau du support, on est au même niveau que la technique avec display:table (IE8+) et donc bien mieux que celle avec transform:translateY() (IE9+).
Au niveau markup, c'est une des plus légères car elle utilise un pseudo-élément et il est facile d'en faire un objet CSS pour pouvoir la réutiiser facilement.
Et pour finir, elle est utilisable dans le cas mentionné plus haut.

Voilà comment je compte l'utiliser à l'avenir :

/**
 * .v-align-wrap>.v-align
 */
.v-align-wrap {
	letter-spacing: -0.31em;
}
.v-align-wrap:before {
	content: ""; 
	display: inline-block; 
	height: 100%; 
	vertical-align: middle;
}
.v-align {
	display: inline-block; 
	vertical-align: middle; 
	letter-spacing: normal;
}

Frameworks CSS, flexbox, HubSpot : les liens de la semaine 15

Voici les liens pour la semaine du 7 au 13 avril 2014 :

Les liens de la semaine 14

Voici les liens pour la semaine du 31 mars au 6 avril 2014 :

  • Web Accessibility Checklist

    Le 20 mars dernier, le W3C a officialisé la recommandation Accessible Rich Internet Applications (WAI-ARIA) 1.0 qui doit permettre de rendre les contenus et applications web plus accessibles aux personnes en situation de handicap.

    C'est une bonne occasion pour implémenter ces recommandations sur vos sites, notamment grâce à cette checklist qui s'avère bien pratique pour une première approche.

    http://a11yproject.com/checklist.html

Les liens de la semaine 13

Voici les liens pour la semaine du 24 au 30 mars 2014 :

  • webdesignrepo

    La ressource ultime pour la veille des intégrateurs, développeurs front/back, graphistes, etc...

    Une compilation des liens les plus utiles pour tout ce qui a trait au webdesign et au développement : blogs, infos, tutoriels, outils, etc...

    http://www.webdesignrepo.com/

  • WTF, HTML and CSS?

    Une liste compilée par Mark Otto qui recense les bugs et autres comportements étranges qui ont probablement dû entamer votre santé mentale au moins une fois dans votre carrière d'intégrateur.

    Cette liste fournit en tout cas les correctifs et conseils pour éviter ces petits désagréments de la vie d'intégrateur, elle est donc à connaitre par cœur si ce n'est pas déjà le cas !

    http://wtfhtmlcss.com/

  • The magic of CSS

    Un cours de CSS destiné aux personnes avec un niveau intermédiaire en CSS.

    On y traite de différents sujets, du box-model jusqu'à la typographie, avec des exemples et pas forcémment que du code.

    D'autres sujets viendront apparement s'ajouter à l'avenir.

    http://adamschwartz.co/magic-of-css/