Design comparison
Solution retrospective
Tried to keep this as neat as possible. Looking for feedback wherever applicable. Thanks!
Community feedback
- @correlucasPosted about 2 years ago
👾Hello @mason-dunn, Congratulations on completing this challenge!
Your solution its almost done and I’ve some tips to help you to improve it:
Use the THE PICTURE TAG that is a shortcut to deal with the multiple images in this challenge. So you can use the
<picture>
tag instead of importing this as an<img>
or using a div withbackground-image
. Use it to place the images and make the change between mobile and desktop, instead of using adiv
orimg
and set the change in the css withdisplay: none
with the tag picture is more practical and easy. Note that for SEO / search engine reasons isn’t a better practice import this product image with CSS since this will make it harder to the image. 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 desktop + mobile.Check the link for the official documentation for
<picture>
in W3 SCHOOLS:https://www.w3schools.com/tags/tag_picture.asp
See the example below:
<picture> <source media="(max-width:650px)" srcset="./images/image-product-mobile.jpg"> <img src="./images/image-product-desktop.jpg" alt="Gabrielle Parfum" style="width:auto;"> </picture>
👨💻Here's my solution for this challenge if you wants to see how I build it: https://www.frontendmentor.io/solutions/product-preview-card-vanilla-css-and-custom-hover-state-on-hero-dVGWpOTgWS
✌️ I hope this helps you and happy coding!
Marked as helpful2@mason-dunnPosted about 2 years ago@correlucas I didn't know about this! This is perfect. Thank you.
0 - @MelvinAguilarPosted about 2 years ago
Hi @mason-dunn 👋, good job on completing this challenge! 🎉
I have a suggestion I've made that you can consider in the future if you're looking to improve the solution further.
- You can use a <picture> tag when you need to change an image in different viewports. Using this tag will prevent the browser from loading both images, saving bandwidth and preventing you from utilizing a media query to modify the image.
Example:
<picture> <source media="(max-width: 768px)" srcset="./assets/images/image-product-mobile.jpg"> <img src="./assets/images/image-product-desktop.jpg" alt="your_alt_text"> </picture>
I hope those tips will help you.
Good job, and happy coding!
Marked as helpful2@mason-dunnPosted about 2 years ago@MelvinAguilar Thank you! I updated my code to use this and will use this from now on :)
1
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