Product preview card component / CSS - HTML
Design comparison
Solution retrospective
1.) Replace pixels with relative units (REM) 2.) I used flexbox to align the objects.
I would appreciate any kind of recommendation, thanks.
Community feedback
- @VCaramesPosted about 2 years ago
Hey @crisanrimor, great job on this project!
Some suggestions to improve you code:
- To make you content accessible to your users, it is a best to use rem/em instead of px for your CSS property values. For media queries, I definitely suggest using em for them. By using px your assuming that every users browser (mobile, tablet, laptop/desktop) is using a font size of 16px (this is the default size on browser). Em's will help with users whose default isn't 16px, which can sometimes cause the your content to overflow and negatively affect your layout.
Sources:
https://betterprogramming.pub/px-em-or-rem-examining-media-query-units-in-2021-e00cf37b91a9
- While having interactive content (cards, links, icons, buttons, etc…) can definitely make content less static, if not done properly, it can actually have negative effect on your users experience. By simply just applying a “hover” effect to your content, you’re assuming that every device is compatible with “hover” effects. Unfortunately, most devices are not. To provide your users a better experience, you can use the @media (hover: hover) . Now users that that are devices that are not “hover” compatible will be able to enjoy your content.
Sources:
https://css-tricks.com/solving-sticky-hover-states-with-media-hover-hover/
Happy Coding!
Marked as helpful0 - @correlucasPosted about 2 years ago
👾Hello @crisanrimor, Congratulations on completing this challenge!
Your solution its almost done and I’ve some tips to help you to improve it:
1.To reduce your CSS file and improve the performance of loading your page you can use a tool called
CSS minify
that reduces the CSS code by removing the unnecessary characters. You can use aVSCode
plugin calledminify css
or this website tool to reduce your code:https://www.toptal.com/developers/cssminifier
2.Using
<picture>
you’ve more control over the elements and its better than using the product image as<img>
orbackground-image
. Look that for SEO and search engine reasons it isn't a better practice to import this product image with CSS since this will make it harder to the image. You can manage both images inside the<picture>
tag and use the html to code to set when the images should change setting the devicemax-width
depending of the device (phone / computer) Here’s a guide about how to usepicture
:https://www.w3schools.com/tags/tag_picture.asp
✌️ I hope this helps you and happy coding!
Marked as helpful0@crisanrimorPosted about 2 years ago@correlucas Thanks, I'll investigate more about the picture tag.
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