Flash cards
Review the key moves
What is the main idea behind CSS Font Size?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___-size: 40px;Put the learning moves in the order that makes the concept easiest to apply.
The CSS font-size property is used to specify the size of the text/font.
Being able to manage the text size is very important in web design.
However, you should not use font size adjustments to make paragraphs look like headings, or headings look like paragraphs. Always use the proper HTML tags, like <h1> - <h6> for headings and <p> for paragraphs.
The font-size can be set to an absolute size or to a relative size.
Absolute sizes
- px : Pixels offers fixed and precise control over the font size.
- xx-small , x-small , small , medium , large , x-large , xx-large . These keywords has a predefined set of sizes in browsers.
Relative sizes
- em : This unit is relative to the font size of the parent element.
- rem : This unit is relative to the font size of the root HTML element.
- % : This unit is relative to the font size of the parent element
- smaller and larger : These units adjust the font size relative to the parent element.
How to Pick the Right Unit?
- For fixed and precise control, px can be used.
- With px , the web page will not scale well on different screen sizes or with user preferences.
- Absolute size can be useful when the physical size of the output is known.
- For scalable web designs, use em or rem ; they allow users to adjust text size in their browser settings.
- Percentage ( % ) can be useful for adjusting font sizes based on parent elements.
Set Font Size With Pixels
Setting the text size with pixels ( px ) gives you full control over the text size.
If you use pixels, the web page may not scale very well on different screen sizes and the users cannot adjust the text size in their browser settings. However, users can still use the zoom tool to resize the entire page.
Example
h1 {
font-size: 40px;
}
h2 {
font-size: 30px;
}
p {
font-size: 16px;
}Live preview
Set Font Size With Em
The em unit is relative to the font size of the parent element. So, if the parent element has a font size of 16px, then 2.5em would result in 40px.
In the following example, the text size in em is the same as the previous example in pixels. However, the em unit allows the user to adjust the text size in the browser settings.
Example
body {
font-size: 16px; /* Base font size */
}
h1 {
font-size: 2.5em; /* 2.5 * 16 = 40px */
}
h2 {
font-size: 1.875em; /* 1.875 * 16 = 30px */
}
p {
font-size: 1em; /* 1 * 16 = 16px */
}Live preview
Set Font Size With Rem
The rem unit is relative to the font size of the root HTML element (<html>).
Unlike em , which is relative to the font-size of its parent element, rem always refers to the font-size of the <html> element, regardless of its position in the document tree. This makes rem very useful for creating scalable and responsive designs. By changing the font-size of the <html> element, all elements sized with rem units will scale proportionally throughout the entire page.
The default font-size of the <html> element in most browsers, is 16px. So, by default, 1rem equals 16px unless explicitly overridden in the CSS.
Example
html {
font-size: 16px; /* Set the root font size */
}
h1 {
font-size: 2.5rem; /* 2.5 * 16 = 40px */
}
h2 {
font-size: 1.875rem; /* 1.875 * 16 = 30px */
}
p {
font-size: 1rem; /* 1 * 16 = 16px */
}Live preview
The vw Unit
The font size can also be set with the vw unit, which means the "viewport width".
The vw unit is a relative unit that represents a percentage of the width of the viewport.
1vw = 1% of the current width of the browser's viewport. So, if the viewport is 500px wide, 1vw is 5px.
This way the text size will follow the size of the browser window:
Hello World
Resize the browser window to see how the font size scales.
Example
h1 {
font-size:10vw;
}
p {
font-size:5vw;
}Live preview