Design comparison
Solution retrospective
How to centre the card div in the proper way ? Also how to decide the padding, margin required for any project ?
Community feedback
- @0xabdulkhaliqPosted over 1 year ago
Hello Nanba 👋. Congratulations on successfully completing the challenge! 🎉
- I have other recommendations regarding your code that I believe will be of great interest to you.
CSS 🎨:
- "How to centre the card div in the proper way ?". So let me explain a proper way, How you can easily center the component without using
margin
orpadding
.
- We don't need to use
margin
andpadding
to center the component both horizontally & vertically. Because usingmargin
orpadding
will not dynamical centers our component at all states
- To properly center the component in the page, you should use
Flexbox
orGrid
layout. You can read more about centering in CSS here 📚.
- For this demonstration we use css
Grid
to center the component
body { min-height: 100vh; display: grid; place-items: center; }
- Now remove these styles, after removing you can able to see the changes
.card { margin: 100px auto; }
- Now your component has been properly centered
- "How to decide the padding, margin required for any project ?", For this question the simple answer is we must want to have a pro membership, because they will provide figma file which helps us to know all required values to submit perfect solution
.
I hope you find this helpful 😄 Above all, the solution you submitted is great !
Happy coding!
Marked as helpful0 - @HassiaiPosted over 1 year ago
Replace<div class="container">with the main tag, <h3> with <h1> and <div class="attribution"> with the footer tag to make the page accessible. click here for more on web-accessibility and semantic html
Give h1 and p the same font-size of 15px which is 0.9375rem, text-align: center, the same margin-left, margin-right and margin-top values. Give p a margin bottom value.
There is no need to style .container . To center .card on the page using flexbox or grid,
- USING FLEXBOX: add min-height:100vh; display: flex; align-items: center: justify-content: center; to the body
body{ min-height: 100vh; display: flex; align-items: center; justify-content: center; }
- USING GRID: add min-height:100vh; display: grid place-items: center to the body
body{ min-height: 100vh; display: grid; place-items: center; }
Use relative units like rem or em as unit for the padding, margin, width values and preferably rem for the font-size values, instead of using px which is an absolute unit. For more on CSS units Click here
For a responsive content,
- Give .card a fixed max-width value and increase the padding value for all the sides
max-width: 320px which is 20rem/em padding:16px which is 1rem/em
- Give the img a max-width of 100% and a border-radius value, the rest are not needed.
Hope am helpful.
Well done for completing this challenge. HAPPY CODING
0 - @DuraBullPosted over 1 year ago
Padding and margin at first seems to be a play until it works game, until eventually you'll get an eye for what looks good.
As far as centering the container, in your body element, try adding
display: flex; height: 100vh; align-items: center; justify-content: center;
0
Please log in to post a comment
Log in with GitHubJoin 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