HTML Academy
Test: Creating a more complicated palette
Flexbox, part 121/32
Back to the list of tasks
  • 1. The display: flex property, flex item
  • 2. The flex-direction property, main axis
  • 3. The flexbox cross axis
  • 4. The justify-content property, alignment along the main axis
  • 5. The justify-content property: flex-start | flex-end
  • 6. The justify-content property: space-between | space-around
  • 7. The align-items property, alignment along the cross axis
  • 8. The align-items property: flex-start | flex-end
  • 9. The align-items: baseline property
  • 10. The align-self property, or selfish alignment
  • 11. The align-self: baseline property
  • 12. Test: Creating a simple palette
  • 13. The flex-wrap property, overflow of flex items
  • 14. The flex-wrap property, reverse overflow
  • 15. The align-content property, alignment of flex container lines
  • 16. The align-content property: stretch and align-items
  • 17. The align-content property: non-stretch and align-items
  • 18. The align-content property, remaining values
  • 19. The order property, the sequence number of the flex item
  • 20. Test: Creating a more complicated palette
  • 21. Perfect centering by assigning margin: auto to the flex container
  • 22. Perfect centering, flex alignment
  • 23. The adaptive horizontal menu, part 1
  • 24. The adaptive horizontal menu, part 2
  • 25. The adaptive horizontal menu, part 3
  • 26. The vertical row of icons
  • 27. The vertical row of icons, part 2
  • 28. The vertical row of icons, part 3
  • 29. Ordering elements with CSS
  • 30. Vertically aligning blocks using a flexbox
  • 31. Test: Complex palettes
  • 32. Summary of “Flexbox, Part 1”
Perfect centering, flex alignment
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Perfect centering by assigning margin: auto to the flex container

In the following exercises, we will analyze examples from the real world where Flexbox can be used.

The most pressing problem that can be easily and elegantly solved using Flexbox is how to center the item vertically and horizontally so that the alignment is maintained when the item or container is resized.

The answer is simple: assign the flexbox layout to the container and margin: auto to the child flex item.

In this case, the flex item will shrink in size to match the content and will be centered along the vertical and horizontal axes.

It is worth paying attention to one interesting point. If you have several centered flex items in the container, then the margins between them will be uniform. In other words, the items will be arranged inside the flex container in a way that is somewhat similar to justify-content: space-around.

Let’s check this point on the basis of the example of a product card, in which the image is centered inside the block.

Comments

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Perfect centering, margin: auto</title> <link href="course.css" rel="stylesheet"> <link href="style.css" rel="stylesheet"> </head> <body class="subtle"> <article class="item"> <h1>“Wolverine” Scratching Post</h1> <div class="pictures"> <div class="picture"> <img src="img/toy.png" alt=""> </div> <!-- copy the .picture element here --> </div> <div class="controls"> <a href="/">Buy</a> </div> </article> </body> </html>
CSS
.pictures { } .picture { } .picture img { width: 80px; }

What didn’t you like in this task?

Thanks! We’ll fix everything at once!

The code has changed, click “Refresh” or turn autorun on.

You’ve gone to a different page

Click inside the mini-browser to shift the focus onto this window.

100%
Goalscompleted
0
    1. Assign a flexbox layout to the .pictures block,
    2. and then assign margin: auto for the .picture block.
    3. Change the size of the .picture img image to 40px,
    4. and then add another .picture block with the same image in the HTML editor.

    Cookies ∙ Privacy ∙ License Agreement ∙ About ∙ Contacts ∙ © HTML Academy OÜ, 2019−2025

    VISAMastercard

    Log in

    or

    Forgot your password?

    Sign up

    Sign up

    or
    Log in

    Restore access

    Have you forgotten your password or lost access to your profile? Enter your email connected to your profile and we will send you a link to restore access.

    Forgot to connect your email to the profile? Email us and we’ll help.