悬停在图片上时如何创建圆形悬停显示
Posted
技术标签:
【中文标题】悬停在图片上时如何创建圆形悬停显示【英文标题】:How to create a circle hover reveal when hovering over a picture 【发布时间】:2021-06-30 14:07:19 【问题描述】:当您将鼠标悬停在 png 上时,我会尝试创建悬停动画,该 png 是在其后面显示一个圆圈的 at 图标。但我无法完成这个。我认为你需要在:before
和:after
标签的帮助下做到这一点,但我不确定。我在互联网上找不到任何好的提示。所以也许你们中的一个可以帮助我。
动画应该是这样的
您从白色的 png a at 图标开始
当您将鼠标悬停在 png 上时,应该会在 png 后面长出一个圆圈
start state
build up
full revealed
已经感谢您的帮助!
【问题讨论】:
【参考方案1】:这是使用 ::before 元素的解决方法。
html:
<div class="img-wrapper">
<img src="Screenshot_2.png" >
</div>
CSS:
.img-wrapper
display: inline-block;
position: relative;
.img-wrapper::before
position: absolute;
background: #000;
width: 100%;
height: 100%;
content: "";
z-index: 1;
padding: 20px;
left: -20px;
top: -20px;
border-radius: 50%;
transition: .5s;
opacity: 0;
visibility: hidden;
.img-wrapper img
z-index: 2;
position: relative;
display: block;
.img-wrapper:hover::before
opacity: 1;
visibility: visible;
谢谢
【讨论】:
【参考方案2】:HTML:
<div class="icon">@<div>
CSS:
.icon::after
content: "";
position: absolute;
left: 0px; /* adujust this value */
top: 2px; /* adujust this value */
width: 2rem; /* adujust this value */
height: 2rem; /* adujust this value */
transform: scale(0);
border-radius: 50%;
z-index: -1;
background-image: linear-gradient(
to top right,
rgb(25, 68, 255),
rgb(0, 162, 255)
);
transition: all 0.2s ease-out;
.icon:hover::after
transform: scale(1);
【讨论】:
以上是关于悬停在图片上时如何创建圆形悬停显示的主要内容,如果未能解决你的问题,请参考以下文章
将鼠标悬停在图片上时如何在 tumblr 上显示标签? [关闭]