Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 5 months ago

NFT Preview Card Component

accessibility, bem
Muritala Salmat•60
@Funsally
A solution to the NFT preview card component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I'm really proud that I managed to get the image with the eye icon overlay working! It was a bit tricky getting the icon to show up only on hover and positioning it correctly. I also learned how to use position: absolute and position: relative for this, which was something new for me. Getting the overlay to fade in smoothly was a cool feeling too.

If I were to do it again, I would definitely spend more time practicing CSS transitions. I got the hover effect working, but it's not as smooth as I'd like. I'd research different transition properties and timing functions to make the overlay appear more elegantly

What challenges did you encounter, and how did you overcome them?

The biggest challenge I faced was making the image underneath the eye icon and its background overlay still visible. At first, the overlay was completely blocking the image, which wasn't the effect I was going for. I tried a few things, but nothing seemed to work. Then, I watched some YouTube tutorials where people were doing similar hover effects. That's when I realized that I needed to adjust the opacity of the overlay background. By reducing the opacity, I was able to make the overlay semi-transparent, so the image could show through. It was a bit of a "aha!" moment. I'm glad I persevered and found a solution, even though it took a bit of research.

What specific areas of your project would you like help with?

While I'm happy with how the hover effect turned out, I did have a bit of trouble getting the border-radius to work correctly on my image. It wasn't applying as I expected, and I'm not entirely sure why. If anyone has any tips or insights on how to make border-radius work consistently with images, especially when they're inside containers with overlays, I'd really appreciate the help. I'd love to understand the underlying reasons and best practices so I don't run into this issue again in the future. Also, if there are any resources you'd recommend for learning more about image styling in CSS, I'd be very grateful.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • P
    roswell•520
    @welpmoz
    Posted 4 months ago

    Your HTML and CSS code look clean. However, all interactive elements must be accessible with the mouse and the keyboard, and don't let your website's layout break after zooming below 200% at least. I don't know what happens besides the problem you face rounding images, but let me tell you that I also face the same problem. Rounding the container doesn't apply to the img child.

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
Frontend Mentor logo

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

Frontend Mentor

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

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

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit all CSS, SCSS and Less files in your repository.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

How does the JavaScript validation report work?

When a solution is submitted, we use eslint to run an automated check on the JavaScript code.

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub