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

相关推荐
future14124 分钟前
项目开发日记
前端·学习·c#·游戏开发
汪子熙13 分钟前
CSS 中 td:last-child a 选择器详解
前端·javascript
q5673152320 分钟前
Koa+Puppeteer爬虫教程页面设计
javascript·css·爬虫
北北~Simple27 分钟前
第一次搭建数据库
服务器·前端·javascript·数据库
GanGuaGua34 分钟前
Vue3常用指令
前端·javascript·vue.js
欧阳天风34 分钟前
录音实时上传
前端·javascript
江号软件分享38 分钟前
从DNS到防火墙:NetDisabler多策略断网方法详解
前端
灵犀学长1 小时前
解锁HTML5页面生命周期API:前端开发的新视角
前端·html·html5
江号软件分享1 小时前
轻松解决Office版本冲突问题:卸载是关键
前端
致博软件F2BPM1 小时前
Element Plus和Ant Design Vue深度对比分析与选型指南
前端·javascript·vue.js