Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Product preview card component using flex box

availableโ€ข 50

@AnAvilableUsername

Desktop design screenshot for the Product preview card component coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


I'd like to know where I went wrong about it since obviously, the final result looks way off than the original design.

Community feedback

Lucas ๐Ÿ‘พโ€ข 104,440

@correlucas

Posted

๐Ÿ‘พHello @AnAvilableUsername, Congratulations on completing this challenge!

Here's one tip about alignment

The approach you've used to center this card vertically is not the best way, because using margins you don't have much control over the component when it scales. My suggestion is that you do this alignment with flexbox using the body as a reference for the container.

The first thing you need to do is to remove the margins used to align it, then apply min-height: 100vh to make the body height size becomes 100% of the screen height, this way you make sure that whatever the situation the child element (the container) align the body with display: flex and align-items: center / justify-items: center.

body {
    min-height: 100vh;
    background-color: hsl(30deg, 38%, 92%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

REMOVE THE MARGIN

.container__main {
    /* margin: 30rem auto; */
    display: flex;
    background-color: hsl(0deg, 0%, 100%);
    border-radius: 0 1rem 1rem 0;
}

โœŒ๏ธ I hope this helps you and happy coding!

Marked as helpful

1
Hyronโ€ข 5,870

@hyrongennike

Posted

Hi @AnAvilableUsername,

Congrats on completing the challenge

You can replace your body with the following one to center the card on the page.

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 1rem;
}

section.container__main {
    margin: 0;
}

Hope this is helpful.

1

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord