Aujourd'hui, j'ai lu un article sur la typographie CSS et comment mettre en place une grille de base simple. J'ai pensé que ça pourrait être amusant d'essayer, alors j'ai tout mis en place, mais apparemment ça ne semble pas être comme prévu.Typographie CSS - Pourquoi la grille de base est-elle totalement désactivée?
Voici le violon en plein écran: http://jsfiddle.net/j5Tav/embedded/result/
Et avec le code: http://jsfiddle.net/j5Tav/
Pour visualiser la ligne de base, j'utiliser Baseliner comme bookmarklet. Il affiche une ligne de base en utilisant JavaScript.
Comme vous pouvez le voir dans mon code SCSS, je mis la ligne de base 21px à une taille de police de 14px:
/* Reset */
* { margin: 0; padding: 0; }
/* Variables */
$bodyFontSize: 14px;
$baseline: 21px; /* 1.5 for 14px */
body {
font-size: $bodyFontSize;
line-height: $baseline;
}
article {
margin: 0 auto;
width: 65%;
}
h1,
h2,
p {
margin-bottom: $baseline;
}
h1 {
font-size: $bodyFontSize * 2;
line-height: $baseline * 2;
}
h2 {
font-size: $bodyFontSize * 1.8;
line-height: $baseline * 1.8;
}
encore, lorsque vous utilisez Baseliner au violon plein écran et entrez 21 dans le bookmarklet , la ligne de base est totalement désactivée. Pourquoi? Ai-je calculé quelque chose de mal?
On dirait que vous avez rencontré des incohérences (arrondi 14px * 1,8 =) de 19.6px. Y a-t-il une raison particulière pour laquelle vous avez choisi de spécifier une unité sur chacune de vos hauteurs de ligne? (voir: http://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/ et https://developer.mozilla.org/en-US/docs/CSS/line-height) – cimmanon
@cimmanon \t Non, il n'y a pas de raison particulière. Normalement, je le fais comme vos liens suggèrent - sans unité. Mais ayant une variable comme $ base: 21; semblait très étrange pour moi. Normalement, j'utilise rem avec un repli px pour la taille du texte, mais de toute façon jsfiddle ne peut pas gérer cela. Avez-vous une idée de comment éviter ce genre de problèmes? J'ai encore des difficultés à contourner le concept de base - en ce moment je termine avec des rem-values pour la hauteur d'un div. – Sven
Il semble que vous essayez d'utiliser une seule variable alors qu'il serait plus approprié d'avoir 2: '$ multiplier: 1.5' (pour line-height) et' $ baseline: $ font-size * $ line-height '(pour le rembourrage et autres). – cimmanon