纯 CSS 实现的的3种扫光效果
本帖最后由 Shaw0xyz 于 2024-7-9 14:12 编辑1. 引言
在现代网页设计中,CSS 的强大功能使得我们能够实现各种炫酷的视觉效果。本文将介绍三种使用纯 CSS 实现的扫光效果,这些效果可以为网页增添动感与活力,而无需借助任何 JavaScript。
2. 扫光效果一:线性渐变动画
2.1 效果描述
该效果通过使用线性渐变和 CSS 动画来实现。扫光效果从左至右,覆盖整个元素表面,形成动态的光线扫描效果。
2.2 实现步骤
(1) 定义一个包含线性渐变的背景。
(2) 使用 CSS 动画控制线性渐变的移动。
2.3 代码示例
HTML:
<div class="shining-effect-1">扫光效果一</div>
CSS:
.shining-effect-1 {
position: relative;
display: inline-block;
padding: 10px 20px;
font-size: 24px;
color: #fff;
background-color: #333;
overflow: hidden;
}
.shining-effect-1::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(120deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.2));
animation: shine 2s infinite;
}
@keyframes shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
3. 扫光效果二:旋转渐变动画
3.1 效果描述
该效果使用径向渐变和旋转动画实现,光线效果从元素中心开始旋转,形成动态的环绕扫光效果。
3.2 实现步骤
(1) 定义一个包含径向渐变的背景。
(2) 使用 CSS 动画控制径向渐变的旋转。
3.3 代码示例
HTML:
<div class="shining-effect-2">扫光效果二</div>
CSS:
.shining-effect-2 {
position: relative;
display: inline-block;
padding: 10px 20px;
font-size: 24px;
color: #fff;
background-color: #333;
overflow: hidden;
}
.shining-effect-2::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
animation: rotate 3s linear infinite;
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
4. 扫光效果三:文本扫光
4.1 效果描述
该效果使用背景剪裁和线性渐变实现,光线效果在文本内容上移动,形成文字扫光效果。
4.2 实现步骤
(1) 使用背景剪裁和线性渐变设置文本背景。
(2) 使用 CSS 动画控制线性渐变的移动。
4.3 代码示例
HTML:
<div class="shining-effect-3">扫光效果三</div>
CSS:
.shining-effect-3 {
position: relative;
display: inline-block;
padding: 10px 20px;
font-size: 24px;
color: #333;
background-color: #fff;
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
.shining-effect-3::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(120deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
animation: text-shine 2s infinite;
}
@keyframes text-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
5. 结论
本文介绍了三种使用纯 CSS 实现的扫光效果,包括线性渐变动画、旋转渐变动画和文本扫光效果。通过合理使用 CSS 渐变和动画属性,可以实现各种炫酷的视觉效果,为网页设计增添色彩和动感。希望这些示例能为您的网页设计提供灵感和参考。
/ 荔枝学姐de课后专栏 /
Hi!这里是荔枝学姐~
欢迎来到我的课后专栏
自然语言学渣 NLP摆烂姐
热衷于技术写作 IT边角料
AIGC & Coding & Linux ...
~互撩~ TG: @Shaw_0xyz
页:
[1]