Design comparison
SolutionDesign
Solution retrospective
What are you most proud of, and what would you do differently next time?
I'm glad I tried to apply what I learned about sass and bem notation. I'm sure I've still got a lot to learn, but this practical exercise has helped me to review the basics, which will help me to progress further.
What challenges did you encounter, and how did you overcome them?- Organising my code and using the correct html semantic
- Position of the markers of the lists
It's my first attempt at using Sass and BEM notation. Any feedback on this is welcome, I'm not sure I'm using these tools correctly yet.
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/assets/images/image-omelette.jpeg" alt="Omelette and salad" class="container__img">
- Here's an example which could help you to prevent CLS,
<img src="assets/assets/images/image-omelette.jpeg" width="1312" height="600" alt="Omelette and salad" class="container__img">
- 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 helpful2
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