Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted over 2 years ago

Product Preview Card Component Responsive Design

Alfrey-Chan•20
@Alfrey-Chan
A solution to the Product preview card component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


  1. To have the image occupy 50% of the card on the desktop view, I set the image to max-width: 50%, is that ok to do?
  2. Is it ok to swap images on different screens by having two image tags, but set one to display:none and the other to display:block, and just swap it around with media queries? Are there better approaches?
  3. Is there a better method to put an icon beside the text of a button? I used two span elements and treated the button as a Flexbox. (Code below)
<button>
          <span><img src="images/icon-cart.svg"> </span>
          <span>Add to Cart</span>
</button>
button {
  padding: 1.25rem;
  background-color: hsl(158, 36%, 37%);
  color: white;
  border-radius: 15px;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
  1. If there are any other better approaches to anything I've implemented, please let me know.
Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on Alfrey-Chan's solution.

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

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner
  • Use cases

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License