Bird
Raised Fist0
CSSmarkup~10 mins

Align content in CSS - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to center the content horizontally inside a flex container.

CSS
.container {
  display: flex;
  justify-content: [1];
}
Drag options to blanks, or click blank then click option'
Acenter
Bleft
Ctop
Dbottom
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'left' or 'top' which are not valid values for justify-content.
Confusing justify-content with align-items.
2fill in blank
medium

Complete the code to align content to the end vertically inside a flex container.

CSS
.container {
  display: flex;
  flex-direction: column;
  justify-content: [1];
}
Drag options to blanks, or click blank then click option'
Astart
Bcenter
Cend
Dstretch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'start' or 'center' which align differently.
Confusing justify-content with align-items.
3fill in blank
hard

Fix the error in the code to properly align content to space between lines in a multi-line flex container.

CSS
.container {
  display: flex;
  flex-wrap: wrap;
  align-content: [1];
}
Drag options to blanks, or click blank then click option'
Aspace-between
Bspace-evenly
Cspace-around
Dcenter
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'space-around' which adds space around lines including edges.
Using 'space-evenly' which adds equal space around all lines.
4fill in blank
hard

Fill both blanks to create a flex container that wraps and aligns content stretched across the cross axis.

CSS
.container {
  display: flex;
  flex-wrap: [1];
  align-content: [2];
}
Drag options to blanks, or click blank then click option'
Awrap
Bnowrap
Cstretch
Dcenter
Attempts:
3 left
💡 Hint
Common Mistakes
Setting flex-wrap to nowrap which prevents wrapping.
Using align-content values like center which do not stretch lines.
5fill in blank
hard

Fill all three blanks to create a flex container that wraps, aligns content to the start, and justifies content to the center.

CSS
.container {
  display: flex;
  flex-wrap: [1];
  align-content: [2];
  justify-content: [3];
}
Drag options to blanks, or click blank then click option'
Anowrap
Bwrap
Ccenter
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using nowrap which disables wrapping.
Confusing align-content and justify-content values.

Practice

(1/5)
1. What does the CSS property align-content control in a flex container?
easy
A. The alignment of individual items along the main axis
B. The background color of the container
C. The font size of the container's text
D. The spacing between rows or columns when items wrap to multiple lines

Solution

  1. Step 1: Understand the role of align-content

    This property controls how multiple rows or columns are spaced inside a container when items wrap to more than one line.
  2. Step 2: Differentiate from other properties

    align-items aligns individual items on a single line, not spacing between lines. Font size and background color are unrelated.
  3. Final Answer:

    The spacing between rows or columns when items wrap to multiple lines -> Option D
  4. Quick Check:

    Align-content = spacing between wrapped lines [OK]
Hint: Align-content affects multi-line spacing, not single items [OK]
Common Mistakes:
  • Confusing align-content with align-items
  • Thinking it changes font or colors
  • Using it when items do not wrap
2. Which of the following is the correct syntax to center content along the cross axis in a multi-line flex container?
easy
A. align-content: center;
B. align-items: center;
C. justify-content: center;
D. text-align: center;

Solution

  1. Step 1: Identify the property for multi-line alignment

    align-content centers the space between multiple lines in a flex container.
  2. Step 2: Differentiate from other alignment properties

    align-items centers items on a single line, justify-content aligns along the main axis, and text-align affects inline text alignment.
  3. Final Answer:

    align-content: center; -> Option A
  4. Quick Check:

    Center multi-line content with align-content: center [OK]
Hint: Use align-content for multi-line centering, not align-items [OK]
Common Mistakes:
  • Using align-items instead of align-content
  • Confusing justify-content with align-content
  • Applying text-align to flex containers
3. Given this CSS for a flex container with wrapped items:
display: flex;
flex-wrap: wrap;
align-content: space-between;
height: 200px;

What will align-content: space-between; do visually?
medium
A. Stretch rows to fill the container height
B. Place the rows evenly with space between them, top and bottom edges have no extra space
C. Stack all rows at the top with no space between
D. Center all rows vertically with equal space above and below

Solution

  1. Step 1: Understand space-between behavior

    This value distributes rows so the first row is at the top, the last row at the bottom, and equal space between rows.
  2. Step 2: Visualize the effect in a 200px tall container

    Rows spread out vertically with no extra space above the first or below the last row.
  3. Final Answer:

    Place the rows evenly with space between them, top and bottom edges have no extra space -> Option B
  4. Quick Check:

    space-between = equal gaps between rows, edges flush [OK]
Hint: space-between puts space only between rows, not edges [OK]
Common Mistakes:
  • Thinking space-between adds space at container edges
  • Confusing with space-around or space-evenly
  • Expecting rows to stretch to fill height
4. You wrote this CSS but the align-content property has no visible effect:
display: flex;
flex-wrap: nowrap;
align-content: center;
height: 150px;

What is the main reason align-content does not work here?
medium
A. align-content requires justify-content to be set
B. align-content only works with grid layouts
C. flex-wrap is set to nowrap, so items do not wrap to multiple lines
D. The container height is too small to see the effect

Solution

  1. Step 1: Check the flex-wrap value

    It is set to nowrap, so all items stay on a single line.
  2. Step 2: Understand when align-content works

    align-content only affects spacing between multiple lines, so it has no effect if items do not wrap.
  3. Final Answer:

    flex-wrap is set to nowrap, so items do not wrap to multiple lines -> Option C
  4. Quick Check:

    Align-content needs wrapped lines to work [OK]
Hint: Ensure flex-wrap allows wrapping for align-content to work [OK]
Common Mistakes:
  • Assuming align-content works without wrapping
  • Thinking align-content applies to grid only
  • Ignoring flex-wrap setting
5. You want a flex container with wrapped items to fill its height by stretching rows evenly. Which CSS setup achieves this?
hard
A. display: flex; flex-wrap: wrap; align-content: stretch; height: 300px;
B. display: flex; flex-wrap: nowrap; align-content: stretch; height: 300px;
C. display: flex; flex-wrap: wrap; align-items: stretch; height: 300px;
D. display: flex; flex-wrap: wrap; justify-content: stretch; height: 300px;

Solution

  1. Step 1: Identify the need for multi-line stretching

    To stretch rows evenly, align-content: stretch; is required and items must wrap.
  2. Step 2: Confirm correct flex-wrap and height

    flex-wrap: wrap; allows multiple lines, and setting a container height (300px) lets stretching be visible.
  3. Step 3: Exclude incorrect options

    flex-wrap: nowrap; prevents wrapping, align-items affects single line items, and justify-content controls main axis, not cross axis.
  4. Final Answer:

    display: flex; flex-wrap: wrap; align-content: stretch; height: 300px; -> Option A
  5. Quick Check:

    Stretch multi-line rows with align-content: stretch and wrap [OK]
Hint: Use flex-wrap: wrap and align-content: stretch to fill height [OK]
Common Mistakes:
  • Using nowrap disables multi-line stretching
  • Confusing align-items with align-content
  • Using justify-content instead of align-content