Design comparison
Solution retrospective
I was unable to make share icon color as white in mobile-active state. Any help on how to do that would be helpful.
Community feedback
- Account deleted
Hi.
The reason why you can't change the color of the icon is because you're using background-image and that is not part of the DOM, so you can't manipulate it directly. Fortunately, there are a few workarounds to solve this:
- Use mask
Mask is a clipped image into specific points.
.my-class { mask-image: url(my-image.svg); background-color: red; }
As you can see, we clip the image and set a background color for that image.
I wouldn't recommend this because it doesn't have good browser support (for instance, it doesn't work on IE and edge).
- Duplicate SVG (better solution)
Create a new SVG image from the original one and change its fill value to
#FFF
When you hover the element, just replace the images
.my-class { background-image: url(gray-icon.svg) } .my-class:hover { background-image: url(white-icon.svg) }
- Use font icons (best solution)
Instead of using SVG, use font icons like IconMonstr or FontAwesome and treat the icons as fonts
HTML <i class="my-class im im-fire"></i> CSS @import url("https://cdn.iconmonstr.com/1.3.0/css/iconmonstr-iconic-font.min.css"); .my-class { color: #333; } .my-class:hover { color: #fff; }
I hope it helps.
1 - @ZakaryaNooriPosted over 4 years ago
pay attention to small details(shadows, alignment, font sizing and coloring) btw well done.
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