'CSS Apply gradient color to a png logo branding
sorry if it has been already asked but I can't find the solution on how to apply a gradient color to a png logo. Here is the website i'm starting to work on: julienbraida.com.
White Logo is on top left. Client wants apply a gradient color on top of the branding logo and change the gradient color according to pages (to match the theme of the page).
I only was able to apply a color using a filter. But it's not a gradient color and I would need help to do that please.
I've done this:
.mobile-header-bar .mobile-branding img {
filter: sepia(100%) hue-rotate(19deg) saturate(100%);
}
But no gradient ... Thanks in advance for your help!
Solution 1:[1]
Set your image as a background:
NOTE:
- filters apply to foreground elements, typically images.
- Gradients are backgrounds and are effectively "under" images.
- so if you want to apply a
linear-gradient
to animg
you have to overlay the<img>
with another element with a greater z-index
div {
height: 100px;
width: 150px;
display: inline-block;
}
.bgImageOnly {
background: url('https://picsum.photos/id/1/200/300') no-repeat;
}
.bgImgFilter {
filter: sepia(100%) hue-rotate(19deg) saturate(100%);
background: url('https://picsum.photos/id/1/200/300') no-repeat;
}
.bgImgGradient {
background: linear-gradient(135deg, rgba(255, 121, 0, .5) 0%, rgba(250, 0, 255, .5) 54%, rgba(126, 0, 255, .5) 100%), url('https://picsum.photos/id/1/200/300') no-repeat;
;
}
div.logos{
width: 100%;
overflow:hidden;
}
div.logos img{
height: 80px;
width: 150px;
}
img{
padding: 20px 0px;
}
.yourFilterParameters{
filter: brightness(1) invert(0) drop-shadow(0 1px 1px rgba(41, 55, 90, .4));
}
.somethingMoreVisible {
filter: brightness(70%) invert(30%) drop-shadow(4px 2px 2px rgba(255, 0, 0, 0.75))
}
div.gradientOverlay{
height: 80px;
width: 150px;
position:relative;
z-index:0;
}
div.gradientOverlay::after{
content:"";
position:absolute;
top:20px;
left:0px;
z-index: 1000;
height: 80px;
width: 150px;
background-image: linear-gradient(135deg, rgba(255, 121, 0, .5) 0%, rgba(250, 0, 255, .5) 54%, rgba(126, 0, 255, .5) 100%);
}
<div class="bgImageOnly"></div>
<div class="bgImgFilter"></div>
<div class="bgImgGradient"></div>
<hr>
<div class="logos">
<img src="https://picsum.photos/id/1/200/300"
class="yourFilterParameters">
<img src="https://picsum.photos/id/1/200/300"
class="somethingMoreVisible">
<div class="gradientOverlay">
<img src="https://picsum.photos/id/1/200/300">
</div>
</div>
Kiwi bird SVG (c)Chris Coyer @ CSS-Tricks.com: see Using SVG
.logo {
width: 122px;
height: 100px;
}
.kiwi {
fill: url(#lgrad);
}
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="612px" height="502.174px" viewBox="0 65.326 612 502.174" enable-background="new 0 65.326 612 502.174" xml:space="preserve"
class="logo">
<defs>
<linearGradient id="lgrad" x1="0%" x2="0%" y1="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255, 121, 0);stop-opacity:.5" />
<stop offset="50%" style="stop-color:rgb(250, 0, 255);stop-opacity:.5" />
<stop offset="100%" style="stop-color:rgb(126,0,155);stop-opacity:.5" />
</linearGradient>
</defs>
<ellipse class="ground" cx="283.5" cy="487.5" rx="259" ry="80"/>
<path class="kiwi" d="M210.333,65.331C104.367,66.105-12.349,150.637,1.056,276.449c4.303,40.393,18.533,63.704,52.171,79.03
c36.307,16.544,57.022,54.556,50.406,112.954c-9.935,4.88-17.405,11.031-19.132,20.015c7.531-0.17,14.943-0.312,22.59,4.341
c20.333,12.375,31.296,27.363,42.979,51.72c1.714,3.572,8.192,2.849,8.312-3.078c0.17-8.467-1.856-17.454-5.226-26.933
c-2.955-8.313,3.059-7.985,6.917-6.106c6.399,3.115,16.334,9.43,30.39,13.098c5.392,1.407,5.995-3.877,5.224-6.991
c-1.864-7.522-11.009-10.862-24.519-19.229c-4.82-2.984-0.927-9.736,5.168-8.351l20.234,2.415c3.359,0.763,4.555-6.114,0.882-7.875
c-14.198-6.804-28.897-10.098-53.864-7.799c-11.617-29.265-29.811-61.617-15.674-81.681c12.639-17.938,31.216-20.74,39.147,43.489
c-5.002,3.107-11.215,5.031-11.332,13.024c7.201-2.845,11.207-1.399,14.791,0c17.912,6.998,35.462,21.826,52.982,37.309
c3.739,3.303,8.413-1.718,6.991-6.034c-2.138-6.494-8.053-10.659-14.791-20.016c-3.239-4.495,5.03-7.045,10.886-6.876
c13.849,0.396,22.886,8.268,35.177,11.218c4.483,1.076,9.741-1.964,6.917-6.917c-3.472-6.085-13.015-9.124-19.18-13.413
c-4.357-3.029-3.025-7.132,2.697-6.602c3.905,0.361,8.478,2.271,13.908,1.767c9.946-0.925,7.717-7.169-0.883-9.566
c-19.036-5.304-39.891-6.311-61.665-5.225c-43.837-8.358-31.554-84.887,0-90.363c29.571-5.132,62.966-13.339,99.928-32.156
c32.668-5.429,64.835-12.446,92.939-33.85c48.106-14.469,111.903,16.113,204.241,149.695c3.926,5.681,15.819,9.94,9.524-6.351
c-15.893-41.125-68.176-93.328-92.13-132.085c-24.581-39.774-14.34-61.243-39.957-91.247
c-21.326-24.978-47.502-25.803-77.339-17.365c-23.461,6.634-39.234-7.117-52.98-31.273C318.42,87.525,265.838,64.927,210.333,65.331
z M445.731,203.01c6.12,0,11.112,4.919,11.112,11.038c0,6.119-4.994,11.111-11.112,11.111s-11.038-4.994-11.038-11.111
C434.693,207.929,439.613,203.01,445.731,203.01z"/>
</svg>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |