悬停图像时除了不透明度之外我还能使用啥?

Posted

技术标签:

【中文标题】悬停图像时除了不透明度之外我还能使用啥?【英文标题】:what can I use except opacity while hovering an image?悬停图像时除了不透明度之外我还能使用什么? 【发布时间】:2021-09-10 11:47:41 【问题描述】:

我正在尝试在图像上创建悬停效果。当我悬停时,图像上应该会出现一点黑暗。 为此,我尝试使用 opacity 属性,它可以工作,但感觉不太好或令人印象深刻。相反,它提供了我不想要的轻盈。如果您想知道在图像悬停时我想要什么样的黑暗,像这样,rgba(0,0,0,0.2)。但是如何使用呢?

如果我可以使用它,我也玩过伪元素,但无能为力。我知道这不会像这样工作,但我现在什至无法解释。请帮帮我。

.box::before 
 content: '';
width:100%; 
height: 100%;
background: rgba(0,0,0,0,2);

以下是不透明的代码,但正如我所说的那样,我试图得到一点黑暗。

.box 
  width: 200px;
  height: 200px;
  border: 2px solid black;
  margin-top: 10px;
   background:url(https://r1.ilikewallpaper.net/ipad-air-wallpapers/download/4427/Green-Nature-iPad-4-wallpaper-ilikewallpaper_com_200.jpg);


.box:hover 
  opacity:0.8;
  /*rgba(0,0,0,0.2) This is needed*/
<div class="box">
</div>

【问题讨论】:

【参考方案1】:

hover 上使用伪元素,然后根据需要设置background

.box 
  width: 200px;
  height: 200px;
  border: 2px solid black;
  margin-top: 10px;
  background:url(https://r1.ilikewallpaper.net/ipad-air-wallpapers/download/4427/Green-Nature-iPad-4-wallpaper-ilikewallpaper_com_200.jpg);
  position:relative;


.box:hover:before
 
   content:'';      
   width:100%;
   height:100%;
   position:absolute;
   background:rgba(0,0,0,0.2);
<div class="box">
</div>

【讨论】:

【参考方案2】:

您可以在 CSS 中使用滤镜灰度。

类似这样的:

img 
  filter: grayscale(0%);

img:hover 
  filter: grayscale(20%);

在这里了解更多信息:https://www.w3schools.com/cs-s-ref/css3_pr_filter.asp

【讨论】:

这也是一个不错的选择。谢谢@AD-1。 欢迎您!附言如果你觉得这有帮助,你能支持我的回答吗?我正在努力达到 500 名声望 ;)【参考方案3】:

您可以使用此方法来实现您正在寻找的东西。您还可以添加过渡效果,以使其不那么突然。

.box 
  width: 200px;
  height: 200px;
  border: 2px solid black;
  margin-top: 10px;
   background:url(https://r1.ilikewallpaper.net/ipad-air-wallpapers/download/4427/Green-Nature-iPad-4-wallpaper-ilikewallpaper_com_200.jpg);


.box:hover 
  -webkit-filter: brightness(80%);
<div class="box">
</div>

【讨论】:

这看起来很方便!谢谢

以上是关于悬停图像时除了不透明度之外我还能使用啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用css更改悬停时图像的不透明度

XCUITest - 单击后退按钮后,除了睡眠之外,我还能使用啥来在屏幕上查找项目?

使用 CSS3 悬停时的背景图像不透明度过渡

悬停图像时更改文本不透明度

悬停时的不透明度变化会导致图像偏移或失真

更改所有元素的不透明度,除了悬停的元素