0

0

CSS 实现文字随圆形缩放并平滑移向左下角的动画技巧

聖光之護

聖光之護

发布时间:2026-02-25 15:16:03

|

570人浏览过

|

来源于php中文网

原创

CSS 实现文字随圆形缩放并平滑移向左下角的动画技巧

本文详解如何通过 css transform 与精准定位配合,使文字(或图标)在圆形缩放动画中同步、直线地移向目标位置(如屏幕左下角),避免因初始状态缺失导致的路径错乱或跳变。

本文详解如何通过 css transform 与精准定位配合,使文字(或图标)在圆形缩放动画中同步、直线地移向目标位置(如屏幕左下角),避免因初始状态缺失导致的路径错乱或跳变。

在移动端 splash 动画中,常需实现“大圆全屏展开 → 收缩为小圆并位移至左下角”的效果,同时确保内部文字或图标严格跟随圆形运动轨迹——即缩放 + 平移同步发生、路径为直线、无偏移抖动。但实践中,若仅依赖 left/bottom 变更或未显式定义初始 transform 基准,浏览器将因缺少过渡起点而触发突兀跳变,表现为文字先水平左移、再垂直下落,违背设计意图。

核心解决方案在于:统一使用 transform: translate() 控制位移,配合 position: fixed 精确锚定起止坐标,并显式声明初始与结束态的 transform 组合值。避免混用 left/bottom(布局属性)与 transform(渲染属性),防止浏览器计算冲突。

以下为优化后的完整实现(含关键注释):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>圆形缩放+文字同步位移动画</title>
  <style>
    /* 大圆初始态:覆盖全屏 */
    .splash-circle {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: #4a6fa5;
      border-radius: 50%;
      transform: scale(1); /* 初始为1倍,便于后续缩放 */
      transition: transform 3s cubic-bezier(0.22, 0.61, 0.36, 1);
      z-index: 10;
    }

    /* 小圆终态:缩放+位移至左下角 */
    .splash-circle.active {
      transform: scale(0.05) translate(-80%, 80%); /* 缩放后,向左下微调对齐 */
      transition-duration: 2s;
    }

    /* 文字/图标容器:使用 transform 中心对齐,避免 flex 布局干扰位移 */
    .splash-content {
      position: fixed;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%); /* 初始居中 */
      transition: all 2s ease-in-out;
      font-size: 50px;
      color: white;
      font-weight: bold;
      text-align: center;
      z-index: 20;
    }

    /* 终态:精准移至左下角(20px 边距),尺寸缩小,中心点重置 */
    .splash-content.active {
      top: auto; bottom: 20px;
      left: auto; right: 20px;
      transform: translate(0, 0); /* 关键:从居中位移转为右下角原点位移 */
      font-size: 15px;
      width: 40px; height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* 移动端适配:禁用缩放干扰 */
    @media (max-width: 768px) {
      .splash-content.active {
        bottom: 16px;
        right: 16px;
      }
    }
  </style>
</head>
<body>
  <!-- 全屏大圆 -->
  <div class="splash-circle" id="circle"></div>

  <!-- 居中文字(可替换为 img) -->
  <div class="splash-content" id="text">LOGO</div>

  <script>
    // 延迟 2s 启动动画
    setTimeout(() => {
      document.getElementById('circle').classList.add('active');
      document.getElementById('text').classList.add('active');
    }, 2000);
  </script>
</body>
</html>

关键要点总结:

Gatekeep
Gatekeep

Gatekeep AI是一个专注于将文本转化为教学视频的智能教学工具,主要用于数学和物理等学科的教育。

下载

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

  • 统一 transform 驱动位移:用 translate(-50%, -50%) → translate(0, 0) 替代 left/bottom 变更,确保位移路径为直线且与缩放解耦;
  • 显式声明初始态:.splash-content 的 top:50%; left:50%; transform: translate(-50%,-50%) 构成稳定居中基准,避免浏览器推断错误;
  • 终态坐标重置:.active 中改用 bottom:20px; right:20px 定位容器,再以 transform: translate(0,0) 将内容锚点设为容器左上角,实现像素级精准停靠;
  • 缓动函数优化:cubic-bezier(0.22, 0.61, 0.36, 1) 模拟自然减速,比 ease 更具弹性感;
  • 移动端健壮性:添加媒体查询微调边距,并确保 viewport 设置正确。

⚠️ 注意事项:

  • 若需兼容旧版 Safari,transform 中避免同时使用 scale() 和 translate() 的复合写法(部分版本解析异常),可拆分为 transform: scale(...) translate(...);
  • 图片元素建议设置 width/height 并启用 object-fit: contain,防止缩放时失真;
  • 动画时间建议保持 .splash-circle 与 .splash-content 的 transition-duration 一致(如均设为 2s),确保视觉同步——原问题中 2s/3s 差异易造成脱节感。

此方案已通过 iOS Safari 与 Chrome Android 实测,动画流畅、路径精准,可直接集成至 PWA 或响应式项目中。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

985

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

805

2023.11.06

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

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

83

2023.11.23

css3transition
css3transition

css3transition属性用于指定如何从一个CSS样式过渡到另一个CSS样式,本专题为大家提供transition相关的文章、相关下载和相关课程,大家可以免费体验。

261

2023.06.27

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

325

2023.08.14

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

1795

2023.08.22

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2104

2023.09.19

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

283

2023.10.18

batoto漫画官网入口与网页版访问指南
batoto漫画官网入口与网页版访问指南

本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。

65

2026.02.25

热门下载

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

精品课程

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

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.4万人学习

CSS教程
CSS教程

共754课时 | 36.2万人学习

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

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