CSS实现的扫光效果组件


theme: lilsnake

图片和内容如有侵权,及时与我联系~

详细内容与注释:

CSS实现的扫光效果组件

代码

技术栈与框架

Vue3

CSS

扫光效果的原理

扫光效果的原理就是从左到右无限循环的一个位移动画

实现方式

适配文字扫光效果的css

css 复制代码
.shark-box { /* 文字样式 */
    font-size: 60px; 
    font-weight: normal; 
    /* 扫光样式-文字 */ 
    -webkit-text-fill-color: transparent; 
    background: linear-gradient( 45deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 60% ) -100% / 50% no-repeat currentColor; 
    -webkit-background-clip: text; 
    animation: shark-box 2s infinite; } 
/* 文字 */ 
@keyframes shark-box { 
    from { background-position: -100%; } 
    to { background-position: 200%; } 
}
效果图

适配图片扫光效果的css

css 复制代码
/* 图片扫光样式 */ 
.card { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    img { 
    display: block; border-radius: 8px; 
    } 
} 
/* 伪元素实现图片扫光 */ 
.shark-img { 
    //定位图片,超出隐藏 
    position: relative; 
    overflow: hidden; 
    img { 
        object-fit: cover; 
    } 
    &::after { 
        content: ""; 
        position: absolute; 
        inset: -20%; 
        background: linear-gradient( 45deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 60% ); 
        animation: shark-img 2s infinite; transform: translateX(-100%); 
    } 
} 
/* 图片 */ 
@keyframes shark-img {
    to { transform: translateX(100%); } 
}
效果图

针对不规则样式

html 复制代码
 <!-- 针对不规则图形,增加 -webkit-mask 配置 -->
    <div
      class="shark-img card"
      v-else-if="props.src"
      :style="
        props.src.includes('png')
          ? {
              mask: `url(${props.src}) no-repeat center / cover`,
              '-webkit-mask': `url(${props.src}) no-repeat center / cover`,
            }
          : {}
      "
    >
      <img :src="props.src" alt="未找到图片" />
    </div>
效果图

组件代码

https://code.juejin.cn/pen/7394752941250314250

相关推荐
.又是新的一天.1 分钟前
【前端Web开发HTML5+CSS3+移动web视频教程】02 html - 列表、表格、表单
前端·html·html5
程序员鱼皮1 分钟前
你的 IP 归属地,是咋被挖出来的?
前端·后端·计算机·程序员·互联网·编程经验
小酒星小杜3 分钟前
在AI时代,技术人应该每天都要花两小时来构建一个自身的构建系统 - 总结篇
前端·vue.js·人工智能
燕山石头7 分钟前
jeecg统一异常处理根据不同模块返回指定响应信息
前端
PyHaVolask20 分钟前
CSRF跨站请求伪造
android·前端·csrf
程序员海军30 分钟前
我的2025:做项目、跑副业、见人、奔波、搬家、维权、再回上海
前端·程序员·年终总结
我来整一篇34 分钟前
[Razor] ASP.NET Core MVC 前端组件快速使用总结
前端·asp.net·mvc
P7Dreamer1 小时前
微信小程序处理Range分片视频播放问题:前端调试全记录
前端·微信小程序
RedHeartWWW1 小时前
初识next-auth,和在实际应用中的几个基本场景(本文以v5为例,v4和v5的差别主要是在个别显式配置和api,有兴趣的同学可以看官网教程学习)
前端·next.js
C_心欲无痕1 小时前
前端页面中,如何让用户回到上次阅读的位置
前端