Design comparison
Solution retrospective
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
- @Islandstone89Posted 4 months ago
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>
andfooter>
. 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
ofpadding
on thebody
, to ensure the card doesn't touch the edges on small screens. -
We usually set the primary font on the
body
, so I would movefont-family
from the card tobody
. -
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 around20rem
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 inpx
. You can useem
, where1em
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 removepadding-bottom
on the paragraph. -
On the image, add
display: block
andmax-width: 100%
- the max-width prevents it from overflowing its container. Removemargin-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 -
- @KrmenDevPosted 4 months ago
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 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