svg 作为背景图像,带有遮罩来更改颜色,并带有阴影来显示阴影

Yic*_*Dai 3 css svg css-filters css-mask

我是 html 和 css 编码的初学者,所以有一个关于 svg 的问题。当我使用 svg 作为背景图像并想要更改颜色并给出阴影时,它不能同时使用这两个属性。希望可以有人帮帮我:

    .image-container {
        width: 100px;
        height: 100px;
        background-size: 100%;
        background-color: #E1A95F;
        -webkit-mask-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/heart.svg");
        -webkit-mask-size: cover;
        filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.75));
    }
Run Code Online (Sandbox Code Playgroud)
   <div class="image-container"></div>
    


 
Run Code Online (Sandbox Code Playgroud)

Tem*_*fif 5

将掩码应用于伪元素,因为您需要额外的元素来应用过滤器。它应该是一个不应用遮罩的元素。

.image-container {
  width: 100px;
  height: 100px;
  filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.75));
}
.image-container:before {
  content:"";
  display:block;
  height:100%;
  background-color: #E1A95F;
  -webkit-mask-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/heart.svg");
  -webkit-mask-size: cover;
}
Run Code Online (Sandbox Code Playgroud)
<div class="image-container"></div>
Run Code Online (Sandbox Code Playgroud)