Beautiful Web Typography is possible. This presentation looked at 7 tips at how to make the Internet a lovelier and more beautiful place using simple typographic conventions through CSS and general practice.
5. Web Typography 3
I...
• work for a small web-dev company based in
Canberra and also operate on a free-lance basis;
6. Web Typography 3
I...
• work for a small web-dev company based in
Canberra and also operate on a free-lance basis;
• try to use, and support Open Source soware;
7. Web Typography 3
I...
• work for a small web-dev company based in
Canberra and also operate on a free-lance basis;
• try to use, and support Open Source soware;
• write about typography and whatever else
strikes me at the time on klepas.org.
10. Web Typography 4
What is typography?
ty•pog•ra•phy |tīˈpägrəfē| •n
Typography is the art of creating and setting type
with the purpose of honoring the text it sets.
21. Web Typography 8
. Starting out: reset
All the browsers have their own default styling
for various ( X ) HTML elements. is makes it a
pain for cross-browser consistency.
22. Web Typography 8
. Starting out: reset
All the browsers have their own default styling
for various ( X ) HTML elements. is makes it a
pain for cross-browser consistency.
Fix? Simply reset everything.
23. Web Typography 9
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,in
put,textarea,p,blockquote,th,td {margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img {border:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-
style:normal;font-weight:normal;}
ol,ul {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}
Googling “CSS reset stylesheets” should land you
with numerous examples. is one above is from
the Yahoo! UI library.
24. Web Typography 10
. Font sizing
Font sizing is done using font-size. It uses any of
the CSS numerical measurements and is either
done in absolute or relative terms.
Sizing in pixels is absolute whilst sizing in ems or
percentages are an example of relative terms.
25. Web Typography 11
. Use ems
An em is a relative unit best to be thought of as a
box. It is relative to the point size of a specific
font (i.e. em in a point typeface is point).
26. Web Typography 11
. Use ems
An em is a relative unit best to be thought of as a
box. It is relative to the point size of a specific
font (i.e. em in a point typeface is point).
To calculate, find what one pixel is in ems and
then multiply by the desired font size (in pixels):
1 ÷ parent font-size × required pixel value
= em value
27. Web Typography 11
. Use ems
An em is a relative unit best to be thought of as a
box. It is relative to the point size of a specific
font (i.e. em in a point typeface is point).
To calculate, find what one pixel is in ems and
then multiply by the desired font size (in pixels):
1 ÷ parent font-size × required pixel value
= em value
Note this means sizing in ems can easily have
you using values with three decimal places.
28. Web Typography 12
.. e . trick
Relative font sizes are either relative to the
browser default font size (commonly pixels)
or their parent element. Consider:
p { font-size: 80%; }
blockquote { font-size: 80%; }
29. Web Typography 12
.. e . trick
Relative font sizes are either relative to the
browser default font size (commonly pixels)
or their parent element. Consider:
p { font-size: 80%; }
blockquote { font-size: 80%; }
80% of 16px is 12.8px, so p and blockquote
elements will be that size, but what happens
when we put a p element inside a blockquote
element? e parent (blockquote) is 12.8px so the
p will be rendered at 80% of that – 10.42px.
30. Web Typography
.. e . trick (cont’d)
In 2004 Richard Rutter wrote an article outlining
a trick used to make these calculations simpler:
because browsers have a common default font
size of 16px we can set the body font size to be
62.5%, resetting the default value to 10px.
From here on, using ems is much easier: px in
ems is .em, px is .em. Remember this only
holds up for direct child elements of the body;
nested elements will be relative to their parents.
32. Web Typography 14
.. Differences in browser rounding
Make sure your actual font size in absolute terms
is either an integer or half-way in between (i.e.
13px, 13.5px or 14px).
33. Web Typography 14
.. Differences in browser rounding
Make sure your actual font size in absolute terms
is either an integer or half-way in between (i.e.
13px, 13.5px or 14px).
To find an element’s font size in absolute terms
(i.e. pixels) you can use the Firefox Web Develop
Extension, Information → Display Element
Information.
34. Web Typography 15
. Stick it to a scale
Use a scale when setting type. Find what suits
you best for a given project and stick to it.
6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 21, 24, 36, 48, 60, 72.
the “classic scale”
9, 10, 11,
another scale
24,12, 13, 14, 18, 36, 48, 64, 72, 96.
8, 13, 21, 34, 55,
scale based on the Fibonacci sequence
89.
35. Web Typography 16
. Use Smartypants or similar
Smartypants is a script that translates plain ASCII
punctuation characters into “smart” typographic
punctuation HTML entities.
• Smartypants (PHP, PERL, & Movable Type);
• Typogrify (Python/Django);
• wp-typogrify (WordPress);
• …?
36. Web Typography 17
. Quotation marks & apostrophes
‘’ “”
’
42. Web Typography 22
. Dashes
- hyphen Mary-Anne, Dominique Strauss-Kahn
– en dash April–May, ages –, pp. –
— em dash Phrase marker—not spaced—like this.*
– minus 5–4=1
43. Web Typography 23
. Advanced: hanging punctuation
Traditionally punctuation marks, bullets, lists,
hyphens, and brackets all hang in the margin.
“Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer a odio.
Vivamus placerat felis id risus. Cras mollis est. Suspendisse molestie
imperdiet libero. Etiam mollis libero vulputate lorem. Nullam ut leo.
(Etiam at turpis non massa rhoncus sodales.)”
44. Web Typography 24
. Advanced: hanging punctuation (cont’d)
Easily done with lists by just setting their
margins to zero.
Possible for opening punctuation marks using
background-image or a negative text-indent. CSS 3
will hopefully support hanging punctuation with
the proposed hanging-punctuation property.
[http://www.w3.org/TR/css3-text/#hanging-punctuation]
45. Web Typography 25
. Select a good measure
e measure is the length of a single line. It is
important to select a good measure for running
text. Do this with the width property.
Ideally these should be relative to the font size,
such that the type scales proportionately to the
measure; use ems or percentages.
46. Web Typography 26
. Select a good measure (cond’t)
An apt measure for running text ranges from
about - characters for serif type set in a
single column on a page (print).
On the web, type generally benefits from a
smaller measure. When using multi-column
you’ll need to go even smaller.
47. Web Typography 26
. Select a good measure (cond’t)
An apt measure for running text ranges from
about - characters for serif type set in a
single column on a page (print).
On the web, type generally benefits from a
smaller measure. When using multi-column
you’ll need to go even smaller.
Characters average at around two thirds of an em,
so a width of to ems matches the above.
48. Web Typography 27
. Treat text as part of the UI
Distinguish content elements from application
controls (i.e. a user’s username and description
from a logout link or text-field title).
Oen done with colour (i.e. setting controls
gray), size (making them smaller) and typefaces.
51. Web Typography 30
. Use grids
Grids bring order to your page and help specify
where things should go and their flow.
Remember to put in apt “gutters” (margins
between columns) to separate your columns
particularly when neighbouring columns hold
running text.
Ruler guides help enormously – use the Web
Developer extension for Firefox or ruler
background images. Also see the YUI library.
55. Web Typography 31
. e little things
• Setting the body in a serif and headings in a san
serif or visa-versa work to great effect;
56. Web Typography 31
. e little things
• Setting the body in a serif and headings in a san
serif or visa-versa work to great effect;
• Set abbr and acronym elements in small caps
(using the font-variant property);
57. Web Typography 31
. e little things
• Setting the body in a serif and headings in a san
serif or visa-versa work to great effect;
• Set abbr and acronym elements in small caps
(using the font-variant property);
• For headings use the most stylish ampersand
available (Typogrify wraps them with .amp);
58. Web Typography 31
. e little things
• Setting the body in a serif and headings in a san
serif or visa-versa work to great effect;
• Set abbr and acronym elements in small caps
(using the font-variant property);
• For headings use the most stylish ampersand
available (Typogrify wraps them with .amp);
• At small font sizes text-decoration: underline;
can render descender characters (g, j, p, q, y)
difficult to read – use border-bottom: 1px solid;;
59. Web Typography 32
. e little things (cond’t)
• Don’t forget to set an ample leading (line height)
for running text! Done using the line-height
property and you can use a unit-less number
(i.e. . which acts as a multiplier of the font size
(em if you’re font sizing in ems);
e leading spans from the baseline (don’t worry
about descenders or ascenders.
60. Web Typography 33
. e little things (cond’t)
• Don’t be afraid to mark new paragraphs with
indents, outdents, a plain white-line, a pilcrow
(¶) or other ornament, drop cap and/or headers;
61. Web Typography 33
. e little things (cond’t)
• Don’t be afraid to mark new paragraphs with
indents, outdents, a plain white-line, a pilcrow
(¶) or other ornament, drop cap and/or headers;
• Generally use flush-le (text-align: left;) for
running text, particularly when set in a narrow
measure – justification can work at ample
measures and better with serif typefaces.
62. Web Typography 33
. e little things (cond’t)
• Don’t be afraid to mark new paragraphs with
indents, outdents, a plain white-line, a pilcrow
(¶) or other ornament, drop cap and/or headers;
• Generally use flush-le (text-align: left;) for
running text, particularly when set in a narrow
measure – justification can work at ample
measures and better with serif typefaces.
• High-contrasting link colours in running text
distract: use the smallest effective difference;
64. Web Typography 34
. I lied – one more
Please don’t use Comic Sans unless you have a
very, very good reason.
65. Web Typography 25
Free desktop specific
Stick fonts into ~/.fonts
To reload your font cache:
fc-cache -fv
Generally use a serif for printed type; make sure
you grab a copy of the Liberation font package
from Redhat!
[https://www.redhat.com/promo/fonts/]