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
Not Found
Not Found
Not Found

Submitted

QR-code-component

P
Rashid 100

@Rashid0101

Desktop design screenshot for the QR code component 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?

Hi there 👋, I’m Rashid and this is my solution for this challenge. 🚀

Any suggestions on how I can improve and reduce unnecessary code are welcome!

Thank you. 😊

Community feedback

P

@Islandstone89

Posted

Hi, congratulations on finishing this challenge!

I have looked at your code, and here are my suggestions - I hope it is helpful :)

HTML:

  • Every webpage needs a <main> that wraps all of the content, except for <header> and footer>. This is vital for accessibility, as it helps screen readers identify a page's "main" section. Wrap the card in a <main>. I would also give the <div> a class, for clarity:<div class="card">.

  • The alt text must also say where it leads(the frontendmentor website). A good alt text would be "QR code leading to the Frontend Mentor website."

  • As the card heading would likely not be the main heading on a page, I would change it to a <h2>.

CSS:

  • Including a CSS Reset at the top is good practice.

  • I like to add 1rem of padding on the body, to ensure the card doesn't touch the edges on small screens.

  • We usually set the primary font on the body, so I would move font-family from the card to body.

  • I would remove the margin on the card, and instead use Flexbox on the body to center the card:

display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
min-height: 100svh;
  • Remove all widths and heights in px. We rarely want to set fixed sizes - instead, our components should grow and shrink according to the screen size.

  • Add a max-width of around 20rem on the card, to prevent it from getting too wide on larger screens.

  • font-size must never be in px. This is a big accessibility issue, as it prevents the font size from scaling with the user's default setting in the browser. Use rem instead.

  • letter-spacing must also never be in px. You can use em, where 1em equals the font size of the element.

  • Paragraphs have a default value of font-weight: 400, so there is no need to declare it. I would also remove padding-bottom on the paragraph.

  • On the image, add display: block and max-width: 100% - the max-width prevents it from overflowing its container. Remove margin-top.

  • To create the space between the image and the edge of the card, set padding on all 4 sides of the card:padding: 16px;.

0
Carmen 80

@KrmenDev

Posted

I think It looks great, you achieve the result almost identical to the design

0

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