Design comparison
SolutionDesign
Solution retrospective
I am proud of the way I used position:absolute
and flex
in the container
.container { width: 600px; background: hsl(var(--white)); border-radius: 30px; display: flex; justify-content: center; position: absolute; top: 50%; right: 50%; transform: translate(50%,-50%); }
Community feedback
- @0xabdulkhaliqPosted over 1 year ago
Hello there 👋. Congratulations on successfully completing the challenge! 🎉
- I have other recommendations regarding your code that I believe will be of great interest to you.
HTML 🏷️:
- This solution generates accessibility error reports, "All page content should be contained by landmarks" is due to
non-semantic
markup, which causes lacking of landmark for a webpage
- So fix it by replacing the
<div class="container">
element with the semantic element<main>
along with<div class="attribution">
into a<footer>
element in yourindex.html
file to improve accessibility and organization of your page.
- What is meant by landmark ?, They used to define major sections of your page instead of relying on generic elements like
<div>
or<span>
- They convey the structure of your page. For example, the
<main>
element should include all content directly related to the page's main idea, so there should only be one per page
CSS 🎨:
- I'm Proud of you so, But let me explain how you can easily center the component without the usage of
absolute
positioning.
- We don't need to use
margin
,padding
orabsolute
to center the component both horizontally & vertically. Because usingposition: absolute
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
.container { justify-content: center; position: absolute; top: 50%; right: 50%; transform: translate(50%,-50%); }
.
I hope you find this helpful 😄 Above all, the solution you submitted is great !
Happy coding!
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