📜  实体化 CSS – 脉冲和阴影(1)

📅  最后修改于: 2023-12-03 14:53:36.292000             🧑  作者: Mango

实体化 CSS – 脉冲和阴影

CSS 是 Web 设计的基石,它可以让我们创建漂亮的用户界面。在本篇文章中,我们将介绍实体化 CSS 的两个方面:脉冲和阴影。

脉冲

脉冲是一种用 CSS 实现的特效,当鼠标悬停在元素上时会产生一个扩散的圆圈。这种特效常用于按钮或链接,以增强用户体验。

以下是一个简单的实现:

button {
  position: relative;
  padding: 8px 16px;
  background-color: #fff;
  color: #333;
  border: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.3s ease-out;
}

button:hover::before {
  transform: scale(1);
}

首先,我们创建了一个按钮,并在其上设置了一些基本样式。然后,我们使用 ::before 伪元素创建一个与按钮大小相同的圆形元素,并将其放置在按钮内部,并设置其背景为半透明黑色。我们还将圆形元素的初始大小设置为 0,并为其实现了一个 transform 动画,以使其扩大。

当用户悬停在按钮上时,我们触发了一个 hover 事件,并将 ::before 元素的大小设置为 1,从而产生了一个扩散的圆圈。

阴影

阴影是另一种可用于实体化 CSS 的特效,它可以通过为元素添加阴影来增加深度感。

下面是一个简单的实现:

.card {
  width: 300px;
  height: 200px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

在这个例子中,我们创建了一个名为 .card 的元素,并设置其基本样式。然后,我们为其添加了一个阴影,并为其实现了一个 hover 动画,以在用户悬停在该元素上时增加阴影的大小,从而增加深度感。

总结

脉冲和阴影是实体化 CSS 的两个重要方面,它们可以帮助我们创建漂亮的用户界面,并增强用户体验。在本篇文章中,我们介绍了如何使用 CSS 实现这两个特效,并为每个例子提供了相应的代码。