📅  最后修改于: 2023-12-03 15:42:28.912000             🧑  作者: Mango
这是一个有趣的主题,让我们来看看如何用程序代码实现。
我们可以使用 HTML、CSS 和 JavaScript 来实现这个效果。
首先,我们需要创建一个圆形容器并将其放置在一个透明角中。以下是相应的 HTML 代码片段:
<div id="container">
<div id="circle"></div>
<div id="overlay"></div>
</div>
其中,#container
是包含圆形容器和遮罩层的父元素,#circle
是圆形容器,#overlay
是遮罩层。
为了实现这个效果,我们需要使用 CSS 属性 border-radius
来创建一个圆形容器,并使用 box-shadow
属性来创建阴影效果。我们还需要添加一个 animation
属性来制作颤动的动画效果。以下是相应的 CSS 代码片段:
#container {
position: relative;
width: 100px;
height: 100px;
}
#circle {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
background-color: #FFFFFF;
border-radius: 50%;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
animation: shake 0.5s ease-in-out infinite;
}
#overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 50%);
pointer-events: none;
}
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
50% {
transform: translateX(-5px);
}
}
现在,我们还可以使用 JavaScript 来添加交互效果。例如,当用户与容器交互时,我们可以将颤动动画暂停。以下是相应的 JavaScript 代码片段:
const circle = document.querySelector("#circle");
circle.addEventListener("mouseover", () => {
circle.style.animation = "none";
});
circle.addEventListener("mouseout", () => {
circle.style.animation = "shake 0.5s ease-in-out infinite";
});
完成上述步骤后,现在我们已经拥有了一个颤动的圆形容器和一个透明角。我们可以使用此代码片段作为启动模板,并添加自己的一些创意,来制作一个非常好看的UI界面。