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

相关推荐
zqx_714 分钟前
随记 前端框架React的初步认识
前端·react.js·前端框架
惜.己31 分钟前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
什么鬼昵称1 小时前
Pikachu-csrf-CSRF(get)
前端·csrf
长天一色1 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
NiNg_1_2341 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js
秋殇与星河2 小时前
CSS总结
前端·css
BigYe程普2 小时前
我开发了一个出海全栈SaaS工具,还写了一套全栈开发教程
开发语言·前端·chrome·chatgpt·reactjs·个人开发
神之王楠2 小时前
如何通过js加载css和html
javascript·css·html
余生H2 小时前
前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比
前端·javascript·node.js·全栈
程序员-珍2 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发