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
Request path contains unescaped characters
Not Found
Not Found

Submitted

Recipe Page (with Mobile-First Design & Semantic HTML)

Levi 90

@law973

Desktop design screenshot for the Recipe page coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


What are you most proud of, and what would you do differently next time?

I like that it ended up looking very close to the initial design. It may not technically be "pixel perfect", but I believe the requested design and my solution are at least indistinguishable at a glance. Also, I implemented a slightly different styling for mobile displays in landscape orientation, and I like how that turned out as well.

Next time, I would perhaps remember to check the image and see if it could be compressed for optimization purposes.

What challenges did you encounter, and how did you overcome them?

Creating unordered lists with vertically-centered bullet points was one challenge. I overcame it by using "display: flex" and "align-items: center" on the list items, and then using the "::before" selector on the list items to insert custom bullet points.

Shifting the text in the first column of the table towards the right without affecting the positioning of the text in the second column was a challenge as well. My solution involved wrapping each of the entries in the cells of the first column in their own div elements, and then using "position: relative" on those div elements to shift the contents away from their original positions.

What specific areas of your project would you like help with?

I am wondering if I should have included an "article" tag within the "main" tag (or perhaps elsewhere); I excluded it because I figured that it was redundant in this case.

Community feedback

P
Steven Stroud 4,140

@Stroudy

Posted

Hey, Great job with this solution you should be proud, A few things I noticed,

  • Setting a height and width attribute to your <img> will increase performance to reduce layout shifts and improve CLS, It reserves the space on the page for the image,
  • Your heading elements are not in a sequentially-descending order, <h1>``<h3>``<h2>``<h2>, Should be <h1>``<h2>``<h3>``<h4>, You can have multiple <h2> but they have to be in order, Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies.
  • Having better alt="" descriptions for accessibility is a must check this out Write helpful Alt Text to describe images,
  • You should apply a full modern reset to make things easier as you build, check out this site for a Full modern reset
  • Using a naming convention like BEM, Using proper naming will prepare you for the changes in design of the website.
  • Line height is usually unitless instead of line-height: 150%; should use line-height: 1.5; this means it is 1.5 x the font-size, unitless value ensures that the line height will scale proportionately.
  • You should add a font-display: swap; property to your @font-face, Leverage the font-display CSS feature to ensure that text is user-visible while web fonts are loading, Increasing performance.
  • ‍Using max-width: 100% or min-width: 100% is way more responsive then just width:100%, check out this article also from the same Frontend mentor dev responsive-meaning, she goes into more detail.
  • You should avoid using px as it is an absolute unit and not a responsive unit like rem or em, You should look at this article from a Frontend mentor dev, Why font-size must NEVER be in pixels.
  • Another great resource for px to rem converter.
  • @media should also be in relative units like rem or em,

I hope you found some of this information helpful, You should give the articles a good read and I look forward to seeing some more from you, Happy coding! 💻

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