Skip to content

Instantly share code, notes, and snippets.

@tmaiaroto
Forked from razwan/_baseline.scss
Last active January 26, 2018 05:40
Show Gist options
  • Save tmaiaroto/cb09d93dc6f2d1df372a to your computer and use it in GitHub Desktop.
Save tmaiaroto/cb09d93dc6f2d1df372a to your computer and use it in GitHub Desktop.
// $base-font-size: 16px; // not sure this ever did anything
$base-line-height: 1.5;
// this value may vary for each font
// unitless value relative to 1em
$cap-height: 0.68;
@mixin baseline($font-size, $scale: 2) {
// rhythm unit
$rhythm: $base-line-height * $font-size / $scale;
// number of rhythm units that can fit the font-size
$lines: ceil(($font-size + 0.001px) / $rhythm);
// calculate the new line-height
$line-height: $rhythm * $lines / $font-size;
// use the results
font-size: $font-size;
line-height: $line-height;
$baseline-distance: ($line-height - $cap-height) / 2;
// METHOD 1
/////////////////
// this method can relatively move down elements you may not want to
// position: relative;
// top: $baseline-distance + em;
// METHOD 2
/////////////////
// if you use this mixin only on elements that have one direction margins
// http://csswizardry.com/2012/06/single-direction-margin-declarations/
// you can use this method with no worries.
// this method assumes the direction is down and the margin is $base-line-height
padding-top: $baseline-distance + em;
margin-bottom: $base-line-height - $baseline-distance + em;
}
@tmaiaroto
Copy link
Author

This was actually pretty handy:
line height sweet spot
http://www.pearsonified.com/2011/12/golden-ratio-typography.php (not sure I agree with everything there, but there's some good points - and this calculator: http://www.pearsonified.com/typography/)

So for 18px I'm going to set the following base line height: $base-line-height: 1.65; ... That should provide a long line according to this chart (~900px). With my 465px wide column and a Helvetica face I get about 48-52 characters per line. With Times it's more like 58-59. These seem to be close with the tool that calculates CPL.

I don't know if anyone tried to translate Bringhurst's section and table on average character count per line from picas to pixels. http://webtypography.net/2.1.2 ...maybe, but I'm not sure I agree with their sizes and characters per line. That page doesn't explain any sort of translation from the width of a page to the example widths on screen that they are talking about (starting with 400px).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment