0

0

css按钮边框想要流光效果如何制作_通过background-position循环动画实现流光边框

P粉602998670

P粉602998670

发布时间:2025-12-13 18:40:03

|

231人浏览过

|

来源于php中文网

原创

用 background-position 配合线性渐变实现流光边框最简洁高效;核心是伪元素承载渐变背景,通过 background-size 扩展渐变尺寸、background-position 位移驱动动画,配合 infinite 循环与 linear 缓动达成平滑流光效果。

css按钮边框想要流光效果如何制作_通过background-position循环动画实现流光边框

background-position 配合线性渐变背景做循环动画,是实现流光边框最简洁、兼容性好且性能高的方式。核心思路是:把一个高亮色条(比如白色或青色)作为渐变中的一小段,通过 background-image 设置成从左到右的线性渐变,再用 background-size 控制它的宽度,最后用 animation 不断移动 background-position,让光条“扫过”按钮四边。

1. 基础结构:用伪元素避免干扰内容

推荐用 ::before::after 伪元素承载流光背景,这样不会影响按钮文字、内边距或点击区域。主按钮保持干净的 border: none,所有“边框感”由伪元素模拟。

  • 给按钮设 position: relative,为伪元素提供定位上下文
  • 伪元素设 position: absolute,覆盖整个按钮区域(inset: 0),并 z-index: -1 确保在文字下方
  • 伪元素不设 content 以外的默认样式,靠 backgroundanimation 驱动效果

2. 渐变背景与尺寸控制

关键在 background-image: linear-gradient(...) 的写法。例如:

background-image: linear-gradient(90deg, transparent, #fff, transparent);

这是一条水平方向(90度)的渐变,中间亮、两边透明,像一道光带。再配合:

立即学习前端免费学习笔记(深入)”;

  • background-size: 200% 200%; —— 把渐变图铺满按钮宽高的2倍,为位移留足空间
  • background-position: -100% 0; —— 初始位置让光带完全在左边外侧,动画开始时刚好“进入”

3. 动画设置:平滑循环的关键参数

@keyframes 定义位移过程,例如:

LALAL.AI
LALAL.AI

AI人声去除器和声乐提取工具

下载
@keyframes shine {
  0% { background-position: -100% 0; }
  100% { background-position: 200% 0; }
}

这样光带会从左端进、横扫到右端外,形成单向流光。若想更自然,可加多段关键帧,比如让光在中间稍作停留,或改用 ease-in-out 缓动。

  • 动画时长建议 2s ~ 3s,太快显得刺眼,太慢失去动感
  • infinite 实现无限循环,linear 保证匀速流动(如需呼吸感可换 ease-in-out
  • 注意:不要对整个按钮元素直接加 background,否则会覆盖原有背景色 —— 光效必须只作用于伪元素

4. 进阶技巧:模拟“绕边”流光

如果希望光效沿按钮边缘顺时针“跑一圈”,可叠加两个伪元素:

  • 一个横向渐变(90deg)负责上下边
  • 另一个纵向渐变(0deg)负责左右边,background-size 调整为 200% 200% 同样适用
  • 两个动画起始位置错开(比如一个 delay 0.5s),就能做出连续绕边效果

或者更轻量的做法:用单个伪元素 + maskclip-path 截出边框路径,再移动渐变 —— 但兼容性略低,适合现代浏览器场景。

基本上就这些。不复杂但容易忽略的是:伪元素层级、背景尺寸与位移范围的匹配、以及动画 timing-function 的选择。调通一次,以后复制粘贴改颜色和速度就能复用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

484

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

163

2023.10.07

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

81

2023.11.23

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

36

2025.09.02

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

9

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

8

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

3

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号