代码之家  ›  专栏  ›  技术社区  ›  AlphaX

如何交换透明背景图像

  •  0
  • AlphaX  · 技术社区  · 6 年前

    我有一个带有透明背景图像的跨度:

    <span style="background: url(icon1.png) no-repeat left center;"></span>

    悬停时,我希望更改背景图像,为此我创建了悬停效果:

    .style1:hover {
      background: url(icon2.png);
      background-repeat: no-repeat;
    }
    

    它的工作方式是将新图像分层在顶部,但如果它是透明的,您仍然可以看到下面的旧图像。

    .style1:hover {
      background: url(https://d30y9cdsu7xlg0.cloudfront.net/png/3777-200.png);
      background-repeat: no-repeat;
      background-size: 25px;
    }
    <div class="style1">
        <span style=" background: url(https://d30y9cdsu7xlg0.cloudfront.net/png/66460-200.png) no-repeat left center;background-size:25px 25px;padding-left: 50px;"></span>
      </div>

    有什么简单的解决方法吗?

    非常感谢

    大卫

    1 回复  |  直到 6 年前
        1
  •  2
  •   Temani Afif    6 年前

    您需要针对span add use !important 替代内联样式。

    .style1:hover span {
      background-image: url(https://d30y9cdsu7xlg0.cloudfront.net/png/3777-200.png)!important;
      background-repeat: no-repeat;
      background-size: 25px;
    }
    <div class="style1">
      <span style=" background: url(https://d30y9cdsu7xlg0.cloudfront.net/png/66460-200.png) no-repeat left center;background-size:25px 25px;padding-left: 50px;"></span>
    </div>