Design comparison
SolutionDesign
Solution retrospective
What are you most proud of, and what would you do differently next time?
Managing the flex and grid layouts was tricky. Next time I'll sketch out the page on paper and plan my grids in advance.
What challenges did you encounter, and how did you overcome them?The greatest challenge was the hero section, and making the images clip a little on the sides while preventing overflow.
What specific areas of your project would you like help with?Any feedback is appreciated :)
Community feedback
- @0xabdulkhaliqPosted 7 months ago
Hello there 👋. Congratulations on successfully completing the challenge! 🎉
- I have a suggestion regarding your code that I believe will be of great interest to you.
PREVENT LAYOUT SHIFTS 📉:
- Your solution needs to be improved to prevent Cumulative Layout Shift (CLS) which results a visually unstable or janky website, particularly on mobile devices.
- This can happen because of leaving the Image and/or video elements without adding explicit
width
andheight
attributes.
- The multimedia elements like
img
which aren't explicitly declared with height and width attributes are usually re-sized using CSS (either on the image itself or the parent container). When this happens, the browser can only determine their dimensions and allocate space for them once it starts downloading the 'unsized images' and/or videos.
- You may notice that when the browser fetches these images, your page content is constantly being pushed down or moved around from its original position (i.e., layout shifts) as the browser resizes the images and positions them on your page.
- Currently the
img
element have no explicitwidth
andheight
to prevent CLS,
<img src="./assets/images/hero.png" loading="lazy" alt="">
- Here's an example which could help you to prevent CLS,
<img src="./assets/images/hero.png" width="820" height="303" loading="lazy" alt="" >
- The
height
andwidth
needs to have the actual measurements of that corresponding image. I shown mobile image as an example because Mobile devices can be easily affected by CLS than Desktop devices.
- I would like to recommend the article Use explicit width and height on image elements from GTMetrix to learn more about Layout Shifts and why's it needs to be prevented.
.
I hope you find this helpful 😄 Above all, the solution you submitted is great !
Happy coding!
Marked as helpful1
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