• 首页
  • 说说
  • 友人
  • 留言
  • 赞赏
  • 建站史
  • 搜索
  • 夜间模式
    ©2025  Feng的小屋 Theme by OneBlog
    搜索
    标签
    # HTML # CSS # JS # 代码 # 分享 # 美化 # 感悟 # 小游戏 # 摄影 # 摄影知识
    🧑‍💻 代码

    分享一下评论头像呼吸灯CSS

    2025.07.03 / 122 阅读 / 2 评论 / 2753 字
    🧑‍💻 代码

    分享一下评论头像呼吸灯CSS

    阅读 122 评论 2 发表于2025.07.03
    AI摘要

    摘要:本文分享了一段关于评论头像呼吸灯效果的CSS代码,该代码通过精准选择图像元素并应用动画效果,实现了头像的呼吸灯功能,包括无限循环的渐变阴影效果。

    这段代码我也是网上找的,方便记录,也为了分享所以解刨记录一下

    简单介绍

    目标元素选择器

    这段代码的开头部分,通过 CSS 选择器精准锁定了三类图像元素 img.avatar-img.avatar-lg选择同时拥有 avatar-img和avatar-lg两个类名的 <img>元素。这种组合选择器能够精确匹配特定场景下的图像,比如网站用户头像中特定尺寸和样式的大头像。

    img.avatar.lazyloaded针对同时具有 avatar和 lazyloaded类的图像。lazyloaded类通常用于实现图片的懒加载功能,该选择器确保懒加载完成后的头像元素也能应用相应样式。

    img.avatar只要图像元素拥有 avatar类,都会被选中。这是一个更宽泛的选择,作为前两个选择器的补充,覆盖了所有带有 avatar类的图像。

    通过这种细致的选择器组合,开发者可以灵活地控制不同条件下的图像样式,避免样式的误应用,提升代码的可控性和维护性。

    基础样式设定

    animation light 4s ease-in-out infinite这行代码应用了名为 light的动画,动画时长为 4 秒,以 ease-in-out的缓动函数运行,并且会无限循环播放。通过这个动画,图像将产生不断变化的发光效果。

    transition0.5s设置了 0.5 秒的过渡效果。这意味着当图像的样式发生改变时(比如后续的悬停状态),样式变化不会瞬间完成,而是会在 0.5 秒内平滑过渡,让用户的视觉体验更加流畅自然。

    悬停效果

    接下来的代码块定义了图像在悬停状态下的样式变化:

    img.avatar-img.avatar-lg:hover,
    img.avatar.lazyloaded:hover,
    img.avatar:hover {
        transform: scale(1.15) rotate(720deg); /* 悬停时放大15%并旋转两周(720度) */
    }

    hover伪类是 CSS 中用于检测鼠标指针是否悬停在元素上的重要特性。当用户将鼠标悬停在之前选中的图像上时,transform属性发挥作用,使图像放大 15% 并旋转 720 度(即两周)。结合之前设置的过渡效果,这个变化过程会显得非常平滑,给用户带来惊喜的交互体验,增强用户与网页之间的互动感。

    动画关键帧

    最后,@keyframes规则定义了名为 light的动画关键帧,这是实现图像发光效果的核心部分:

    @keyframes light {
        0% { box-shadow: 0 0 4px #f00; }      /* 起始状态:红色小光晕 */
        25% { box-shadow: 0 0 16px #0f0; }    /* 25%进度:绿色大光晕 */
        50% { box-shadow: 0 0 4px #00f; }    /* 50%进度:蓝色小光晕 */
        75% { box-shadow: 0 0 16px #0f0; }    /* 75%进度:绿色大光晕 */
        100% { box-shadow: 0 0 4px #f00; }    /* 结束状态:回到红色小光晕 */
    }

    @keyframes规则允许开发者定义动画在不同阶段的样式变化。在 light动画中:
    动画开始(0%)时,图像周围产生一个红色的小光晕(box-shadow: 0 0 4px #f00;)。
    当动画进行到 25% 时,光晕变为绿色且尺寸变大(box-shadow: 0 0 16px #0f0;)。
    50% 时,光晕切换为蓝色小光晕。
    75% 时,再次出现绿色大光晕。
    动画结束(100%)时,回到初始的红色小光晕状态。由于设置了 infinite无限循环,这个过程会一直持续,使图像始终散发着光晕。

    完整代码展示

    /* 目标元素选择器组:指定样式仅应用于以下三类图像元素 */
    img.avatar-img.avatar-lg,    /* 同时拥有avatar-img和avatar-lg类的图像 */
    img.avatar.lazyloaded,      /* 同时拥有avatar和lazyloaded类的图像 */
    img.avatar {                /* 拥有avatar类的图像 */
       /* 使图像呈现圆形效果 */
        animation: light 4s ease-in-out infinite; /* 应用4秒循环的发光动画 */
        transition: 0.5s;       /* 设置0.5秒的过渡效果,用于平滑响应悬停动作 */
    }
    
    /* 目标元素的悬停状态样式 */
    img.avatar-img.avatar-lg:hover,
    img.avatar.lazyloaded:hover,
    img.avatar:hover {
        transform: scale(1.15) rotate(720deg); /* 悬停时放大15%并旋转两周(720度) */
    }
    
    /**
     * 发光动画定义
     * 实现图像周围的光晕效果,在红、绿、蓝之间循环变化
     */
    @keyframes light {
        0% { box-shadow: 0 0 4px #f00; }      /* 起始状态:红色小光晕 */
        25% { box-shadow: 0 0 16px #0f0; }    /* 25%进度:绿色大光晕 */
        50% { box-shadow: 0 0 4px #00f; }     /* 50%进度:蓝色小光晕 */
        75% { box-shadow: 0 0 16px #0f0; }    /* 75%进度:绿色大光晕 */
        100% { box-shadow: 0 0 4px #f00; }    /* 结束状态:回到红色小光晕 */
    }
    本文著作权归作者 [ Feng ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    CSS美化
    取消回复

    发表留言
    回复

    读者留言2

    1. lovau Lv.2
      中国移动
      2025-07-03 22:45 回复

      学会了,去看我网站

      1. Feng 博主
        中国广东省中山市电信
        2025-07-03 23:25 回复
        @lovau

        让我看看

    加载更多评论
    加载中...
    — 已加载全部评论 —
    首页说说友人留言赞赏建站史
    Copyright©2025  All Rights Reserved.  Load:0.020 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。