Bird
Raised Fist0
CSSmarkup~5 mins

Font family in CSS

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Font family lets you choose how text looks by picking different styles of letters. It helps make your website easy to read and nice to look at.

When you want your website text to look friendly or serious by changing the style of letters.
When you want to match your website's style with a brand or theme using specific fonts.
When you want to make sure your text looks good on different devices by listing backup fonts.
When you want to improve reading by choosing clear and simple fonts for paragraphs.
When you want to add personality to headings by using decorative or unique fonts.
Syntax
CSS
font-family: fontName, fallbackFont, genericFamily;

Use commas to separate multiple font names.

Always end with a generic family like serif, sans-serif, or monospace as a backup.

Examples
This tries Arial first, then Helvetica if Arial is not available, and finally any sans-serif font.
CSS
font-family: Arial, Helvetica, sans-serif;
Uses 'Times New Roman' font, or Times, or any serif font as last option.
CSS
font-family: 'Times New Roman', Times, serif;
Uses monospace fonts good for code or fixed-width text.
CSS
font-family: 'Courier New', Courier, monospace;
Uses a fun cursive font, with cursive and sans-serif as backups.
CSS
font-family: 'Comic Sans MS', cursive, sans-serif;
Sample Program

This page shows how different font families change text style. The heading uses a serif font called Georgia, paragraphs use monospace fonts, and the body uses a clean sans-serif font.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Font Family Example</title>
  <style>
    body {
      font-family: Arial, Helvetica, sans-serif;
      margin: 2rem;
      line-height: 1.5;
    }
    h1 {
      font-family: Georgia, serif;
      color: #2a2a2a;
    }
    p {
      font-family: 'Courier New', Courier, monospace;
      background-color: #f0f0f0;
      padding: 1rem;
      border-radius: 0.5rem;
    }
  </style>
</head>
<body>
  <h1>Welcome to Font Family Demo</h1>
  <p>This paragraph uses a monospace font to look like code.</p>
  <p>The rest of the page uses Arial or similar sans-serif fonts for easy reading.</p>
</body>
</html>
OutputSuccess
Important Notes

Put font names with spaces inside quotes, like 'Times New Roman'.

Always list multiple fonts to make sure text looks good if the first font is missing.

Generic families help browsers pick a similar font if none of your listed fonts are available.

Summary

Font family controls the style of text by choosing fonts.

List fonts separated by commas, ending with a generic family.

Use quotes for font names with spaces.

Practice

(1/5)
1. What does the CSS font-family property control on a webpage?
easy
A. The style and type of text fonts displayed
B. The size of the text
C. The color of the text
D. The spacing between letters

Solution

  1. Step 1: Understand the role of font-family

    The font-family property sets which font or fonts the browser uses to display text.
  2. Step 2: Differentiate from other text properties

    Size, color, and spacing are controlled by other CSS properties like font-size, color, and letter-spacing.
  3. Final Answer:

    The style and type of text fonts displayed -> Option A
  4. Quick Check:

    font-family controls font style = C [OK]
Hint: Remember: font-family picks fonts, not size or color [OK]
Common Mistakes:
  • Confusing font-family with font-size
  • Thinking font-family changes text color
  • Mixing font-family with letter spacing
2. Which of the following is the correct syntax to set a font family with a font name containing spaces?
easy
A. font-family: ArialBlack, sans-serif;
B. font-family: Arial Black, sans-serif;
C. font-family: Arial Black sans-serif;
D. font-family: 'Arial Black', sans-serif;

Solution

  1. Step 1: Recognize font names with spaces need quotes

    Font names with spaces like "Arial Black" must be wrapped in quotes to be read correctly.
  2. Step 2: Check syntax correctness

    font-family: 'Arial Black', sans-serif; uses quotes and separates fonts with commas, which is correct syntax.
  3. Final Answer:

    font-family: 'Arial Black', sans-serif; -> Option D
  4. Quick Check:

    Quotes needed for multi-word fonts = A [OK]
Hint: Use quotes around font names with spaces [OK]
Common Mistakes:
  • Omitting quotes for multi-word font names
  • Missing commas between font names
  • Combining font names without spaces or commas
3. Given the CSS rule:
p { font-family: 'Times New Roman', Georgia, serif; }

What font will the browser use if 'Times New Roman' is not available but Georgia is?
medium
A. Times New Roman
B. Georgia
C. serif
D. Arial

Solution

  1. Step 1: Understand font-family fallback order

    The browser tries fonts in order: first 'Times New Roman', then Georgia, then generic serif.
  2. Step 2: Apply fallback logic

    If 'Times New Roman' is missing, the browser uses the next available font, which is Georgia.
  3. Final Answer:

    Georgia -> Option B
  4. Quick Check:

    Fallback font used if first missing = B [OK]
Hint: Browser picks first available font in list [OK]
Common Mistakes:
  • Assuming browser uses generic serif first
  • Ignoring font order in the list
  • Thinking browser picks random font
4. Identify the error in this CSS rule:
h1 { font-family: Arial, 'Helvetica Neue' sans-serif; }
medium
A. Missing comma between 'Helvetica Neue' and sans-serif
B. Quotes around 'Helvetica Neue' are incorrect
C. Arial should be in quotes
D. Font-family property cannot have more than two fonts

Solution

  1. Step 1: Check font list syntax

    Font names must be separated by commas. Here, there's no comma between 'Helvetica Neue' and sans-serif.
  2. Step 2: Confirm quotes and other syntax

    Quotes around 'Helvetica Neue' are correct; Arial does not need quotes; multiple fonts are allowed.
  3. Final Answer:

    Missing comma between 'Helvetica Neue' and sans-serif -> Option A
  4. Quick Check:

    Font names must be comma-separated = A [OK]
Hint: Always separate font names with commas [OK]
Common Mistakes:
  • Forgetting commas between font names
  • Misusing quotes around single-word fonts
  • Thinking font-family limits number of fonts
5. You want to ensure your webpage text uses the font 'Open Sans' if available, otherwise falls back to Arial, then any sans-serif font. Which CSS rule correctly achieves this?
hard
A. font-family: Open Sans, Arial, sans-serif;
B. font-family: 'Open Sans', 'Arial', serif;
C. font-family: 'Open Sans', Arial, sans-serif;
D. font-family: 'Open Sans' Arial sans-serif;

Solution

  1. Step 1: Use quotes for multi-word font names

    'Open Sans' has a space, so it must be in quotes.
  2. Step 2: Separate fonts with commas and use generic family without quotes

    Fonts must be comma-separated. Arial is a single word and does not need quotes. The generic family sans-serif should not be quoted.
  3. Final Answer:

    font-family: 'Open Sans', Arial, sans-serif; -> Option C
  4. Quick Check:

    Quotes for multi-word + commas + generic unquoted = D [OK]
Hint: Quote multi-word fonts, separate with commas, generic unquoted [OK]
Common Mistakes:
  • Not quoting multi-word font names
  • Missing commas between fonts
  • Quoting generic font families