NFT card using HTML, SASS and flexbox.
Design comparison
Solution retrospective
Hello guys!
Here's my solutions for this nft challenge. I used sass on this one and did not upload the css file this time so I can see if it will work in someone else's computer. I just tested on mine's and worked perfectly. So, just download the repo and run the sass in your machine and it'll generate the css file so you can see the final result. Thanks everyone \m/
Community feedback
- @faha1999Posted about 2 years ago
Hello, Gustavo de Assis G. Reis Congratulations on finishing this project. It's lovely and great on the whole! Just a little tip:
- You might want to use semantic tags like the
<main>
to wrap your code, instead ofdiv
. like
<main class="container"> </main>
- To fix the level-one heading Accessibility issue follow
This would help improve accessibility.
- add the below styles to the
body
. It will center everything
body { justify-content: center; align-items: center; display: flex; min-height: 100vh; flex-direction: column; // margin: 60px auto; }
- add the active-state of
img
<a class="nft-card-image" href="#"> <img class="ethereum" src="./images/image-equilibrium.jpg" alt="NFT Equilibrium" /> </a>
- hover effect
.ethereum { position: relative; display: block; height: 320px; overflow: hidden; border-radius: $br-10; &::before { content: ''; position: absolute; top: 0; left: 0; z-index: 100; width: 100%; height: 100%; opacity: 0; transform: scale(0); background-color: transparentize($cyan, 0.5); transition: transform 0.4s ease-in-out, opacity 0.3s; } &:hover::before { opacity: 1; transform: scale(1); } &::after { content: url(../images/icon-view.svg); position: absolute; top: 0; left: 0; z-index: 100; width: 100%; height: 100%; opacity: 0; transition: opacity 0.2s ease-in 0.1s; display: flex; justify-content: center; align-items: center; } &:hover::after { opacity: 1; } }
-
Instead of using
px
, use relative units likerem or em
to get better performance when the information on your page needs to be resized for multiple screens and devices.REM
andEM
apply to all sizes, not justfont-size
. You can code your entire page inpx
and then, at the very end, use the VsCode pluginpx to rem
to perform the automatic conversion px to rem
I hope it will work. Happy coding.
Marked as helpful0@gustavoagoncalvesPosted about 2 years agoThanks for the feedback @faha1999 and I'll later redo the code for that with your tips. It was a cool way to complete that by the way.
0 - You might want to use semantic tags like the
- @correlucasPosted about 2 years ago
👾Hello @gustavoagoncalves, Congratulations on completing this challenge!
Great code and great solution! I’ve few suggestions for you that you can consider adding to your code:
Here's how you can add the hover effect:
Container needed to position the overlay. Adjust the width as needed
.container { position: relative; width: 100%; max-width: 340px; }
Make the image to responsive
.image { width: 100%; height: auto; }
The overlay effect (full height and width) - lays on top of the container and over the image
.overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; opacity: 0; transition: .3s ease; background-color: red; }
When you mouse over the container, fade in the overlay icon
.container:hover .overlay { opacity: 1; }
The icon inside the overlay is positioned in the middle vertically and horizontally .icon { color: white; font-size: 100px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); text-align: center; }
When you move the mouse over the icon, change color
.icon-eye:hover { color: hsl(178, 100%, 50%, 0.5);; }
👨💻Here's my solution for this challenge if you wants to see how I build it: https://www.frontendmentor.io/solutions/nft-preview-card-vanilla-css-custom-design-and-hover-effects-b8D1k9PDmX
✌️ I hope this helps you and happy coding!
0 - @azhar1038Posted about 2 years ago
Hi @gustavoagoncalves,
May I know why you didn't uploaded compiled css because for the live site you need css?
It makes it difficult to give feedback because not everybody will clone the repo to check.
0@gustavoagoncalvesPosted about 2 years agoThanks for the feedback @azhar1038. As I said, I was just testing my sass skills and for that I needed to upload this challenge without the compiled css to know if the sass code would work normally in someone else's environment. It was a risk, I know, like you said, not everybody would clone the repo, but with our friend @faha1999 I could see that will work on anyone's machines.
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