找回密码
 立即注册
查看: 446|回复: 0

[前端] 纯 CSS 实现的的3种扫光效果

[复制链接]

279

主题

0

回帖

964

积分

超级版主

积分
964
发表于 2024-7-9 13:41:51 | 显示全部楼层 |阅读模式
本帖最后由 Shaw0xyz 于 2024-7-9 14:12 编辑

1. 引言

在现代网页设计中,CSS 的强大功能使得我们能够实现各种炫酷的视觉效果。本文将介绍三种使用纯 CSS 实现的扫光效果,这些效果可以为网页增添动感与活力,而无需借助任何 javaScript。

2. 扫光效果一:线性渐变动画

2.1 效果描述

该效果通过使用线性渐变和 CSS 动画来实现。扫光效果从左至右,覆盖整个元素表面,形成动态的光线扫描效果。

2.2 实现步骤

(1) 定义一个包含线性渐变的背景。
(2) 使用 CSS 动画控制线性渐变的移动。

2.3 代码示例

HTML:
  1. <div class="shining-effect-1">扫光效果一</div>
复制代码


CSS:
  1. .shining-effect-1 {
  2.     position: relative;
  3.     display: inline-block;
  4.     padding: 10px 20px;
  5.     font-size: 24px;
  6.     color: #fff;
  7.     background-color: #333;
  8.     overflow: hidden;
  9. }

  10. .shining-effect-1::before {
  11.     content: '';
  12.     position: absolute;
  13.     top: 0;
  14.     left: -100%;
  15.     width: 100%;
  16.     height: 100%;
  17.     background: linear-gradient(120deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.2));
  18.     animation: shine 2s infinite;
  19. }

  20. @keyframes shine {
  21.     0% {
  22.         left: -100%;
  23.     }
  24.     100% {
  25.         left: 100%;
  26.     }
  27. }
复制代码


3. 扫光效果二:旋转渐变动画

3.1 效果描述

该效果使用径向渐变和旋转动画实现,光线效果从元素中心开始旋转,形成动态的环绕扫光效果。

3.2 实现步骤

(1) 定义一个包含径向渐变的背景。
(2) 使用 CSS 动画控制径向渐变的旋转。

3.3 代码示例

HTML:
  1. <div class="shining-effect-2">扫光效果二</div>
复制代码


CSS:
  1. .shining-effect-2 {
  2.     position: relative;
  3.     display: inline-block;
  4.     padding: 10px 20px;
  5.     font-size: 24px;
  6.     color: #fff;
  7.     background-color: #333;
  8.     overflow: hidden;
  9. }

  10. .shining-effect-2::before {
  11.     content: '';
  12.     position: absolute;
  13.     top: -50%;
  14.     left: -50%;
  15.     width: 200%;
  16.     height: 200%;
  17.     background: radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
  18.     animation: rotate 3s linear infinite;
  19. }

  20. @keyframes rotate {
  21.     0% {
  22.         transform: rotate(0deg);
  23.     }
  24.     100% {
  25.         transform: rotate(360deg);
  26.     }
  27. }
复制代码

4. 扫光效果三:文本扫光

4.1 效果描述

该效果使用背景剪裁和线性渐变实现,光线效果在文本内容上移动,形成文字扫光效果。

4.2 实现步骤

(1) 使用背景剪裁和线性渐变设置文本背景。
(2) 使用 CSS 动画控制线性渐变的移动。

4.3 代码示例

HTML:
  1. <div class="shining-effect-3">扫光效果三</div>
复制代码

CSS:
  1. .shining-effect-3 {
  2.     position: relative;
  3.     display: inline-block;
  4.     padding: 10px 20px;
  5.     font-size: 24px;
  6.     color: #333;
  7.     background-color: #fff;
  8.     background-clip: text;
  9.     -webkit-background-clip: text;
  10.     color: transparent;
  11. }

  12. .shining-effect-3::before {
  13.     content: '';
  14.     position: absolute;
  15.     top: 0;
  16.     left: -100%;
  17.     width: 100%;
  18.     height: 100%;
  19.     background: linear-gradient(120deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
  20.     animation: text-shine 2s infinite;
  21. }

  22. @keyframes text-shine {
  23.     0% {
  24.         left: -100%;
  25.     }
  26.     100% {
  27.         left: 100%;
  28.     }
  29. }
复制代码


5. 结论

本文介绍了三种使用纯 CSS 实现的扫光效果,包括线性渐变动画、旋转渐变动画和文本扫光效果。通过合理使用 CSS 渐变和动画属性,可以实现各种炫酷的视觉效果,为网页设计增添色彩和动感。希望这些示例能为您的网页设计提供灵感和参考。








/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & linux ...

~互撩~ TG: @Shaw_0xyz
荔枝学姐爱吃荔枝!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 13:40 , Processed in 0.062030 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表