Firefox 和 IE 的不同 div 背景图片

Different div background image for Firefox and IE

我制作了一个 clip-path 并在背景中使用了一个 .gif 使它看起来很棒。但是,我遇到了一个问题:Firefox 和IE 不支持clip-path。相反,他们只是以非常丑陋的方式显示背景图像。有什么办法可以为 Firefox 和 IE 用户设置不同的背景图片吗?

CSS:

.thisdiv {
  width: 280px;
  height: 280px;
  background-image: url("image.gif");
  -webkit-clip-path: polygon(3% 3%, 43% 3%, 54% 4%, 61% 5%, 67% 7%, 74% 10%, 79% 13%, 84% 17%, 88% 22%, 91% 27%, 94% 34%, 96% 41%, 97% 48%, 97% 56%, 95% 64%, 93% 71%, 90% 76%, 86% 81%, 82% 85%, 77% 89%, 60% 60%, 78% 50%, 28% 22%, 28% 78%, 47% 67%, 63% 94%, 56% 96%, 48% 97%, 3% 97%);
  clip-path: polygon(3% 3%, 43% 3%, 54% 4%, 61% 5%, 67% 7%, 74% 10%, 79% 13%, 84% 17%, 88% 22%, 91% 27%, 94% 34%, 96% 41%, 97% 48%, 97% 56%, 95% 64%, 93% 71%, 90% 76%, 86% 81%, 82% 85%, 77% 89%, 60% 60%, 78% 50%, 28% 22%, 28% 78%, 47% 67%, 63% 94%, 56% 96%, 48% 97%, 3% 97%);
  background-size: cover;
  background-blend-mode: screen;
}

不幸的是,clip-path 并没有得到广泛的支持,只是 yet

因此,您最好的选择是在您的站点中包含 polyfill

不幸的是,您网站的这方面将依赖于 JS,因此如果客户端关闭它,它将无法工作

好的,这就是我所做的(对于那些感兴趣的人)。我用了 'css-hacks':

    @-moz-document url-prefix() {
    #div2{
        display: block;
    }
    #div1 {
        display: none;
    }
}

@supports (-ms-accelerator:true) {
     #div2{
        display: block;
    }
    #div1 {
        display: none;
    }
}

_:-ms-lang(x) {
       #div2 {
        display: block;
    }
    #div1 {
        display: none;
    }
}

使用此方法,我将 <div> 隐藏在不支持它的浏览器的剪辑路径中,并向它们显示另一个 <div>。这不是最漂亮的方法,但它不需要 JS。