Design comparison
Solution retrospective
I had some problems adding a blue overlay to the product img I would be very grateful for a tip on how to do this hover status.
Community feedback
- @PhoenixDev22Posted over 2 years ago
Hello
Congratulation on completing this challenge. Excellent work! I have few suggestions regarding your solution, if you don't mind:
HTML
-
Since there's a :hover state on the image and means it's interactive, So there should be an interactive element around it. When you create a component that could be interacted with a user , always remember to include interactive elements like(button, textarea,input, ..) for this imagine what would happen when you click on the image, there are two possible ways:
1: If clicking the image would show a popup where the user can see the full NFT, here you use<button>
. 2:If clicking the image would navigate the user to another page to see the NFT, here you can use<a>
. For the same reason , you can use<a>
to wrapEquilibrium #3429
. -
The link wrapping the equilibrium image should either have
Sr-only
text, anaria-label
oralt
text that says where that link takes you. -
For any decorative images, each img tag should have empty
alt=""
as you did and addaria-hidden="true"
attributes to make all web assistive technologies such as screen reader ignore those images in(icon-ethereum, icon-clock
). look up a bit more about how and when to write alt text on images. Learn the differences with decorative/meaningless images vs important content -
To use more semantic tags , you may use
<figure>
and<figcaption>
for the avatar's part. -
Don’t include “image of” or “picture of” in the alt text . You can use only the creator's name
Jules Wyvern
. Read more how to write an alt text -
For middle part of the card
id="stats"
, you can use an unordered list<ul>
, in each<li>
there should be<img>
and<p>
that way you can align them centrally.
There are so many ways to do the hover effect on the image, The one I would use is pseudo elements
::before, ::after
. You can use pseudo-elements to change the teal background color to hsla. Then the opacity can be changed from 0 to 1 on the pseudo element on the hover. Also using pseudo elements makes your HTML more cleaner as there's no need for extra clutter in the HTML.Aside these, great work on this one.
Marked as helpful1@RadexmanPosted over 2 years ago@PhoenixDev22 Thank you for such detailed feedback! Definitely some good advice there.
1 -
- @correlucasPosted over 2 years ago
Hello Radek, congratulations for your solution!
This part of this challenge is really hard to do, I was unable to do this hover effect without looking a tutorial.
To do it in my solution I've created a div called
card-overlay
and created the design for the div with theopacity: 0
and applied thehover
effect with the div withopacity: 1;
. See the code below, maybe my explanation wasn't so good, but if you see the tutorial link below you get it..card-overlay:hover { opacity: 1; transition: ease-out transform 0.8s; } .card-overlay { display: flex; position: absolute; border-radius: 7px; align-items: center; justify-content: center; flex-direction: column; top: 0; left: 0; width: 100%; height: 100%; background-image: url(./images/icon-view.svg) no-repeat center; background-color: hsl(178, 100%, 50%, 0.5); opacity: 0; }
Here's the link with the tutorial Ive used to finish that part:
https://www.w3schools.com/howto/howto_css_image_overlay_icon.asp
Here's my solution if you want to use it as reference:
https://www.frontendmentor.io/solutions/nft-preview-card-vanilla-css-custom-design-and-hover-effects-b8D1k9PDmX
Marked as helpful1@RadexmanPosted over 2 years ago@correlucas Thank you for the feedback! I figured that out with pseudo elements but I struggled with this one a bit, layout was really easy but that hover effect imo was not noob friendly as the challenge states.
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