CodeGym /课程 /Frontend SELF ZH /提升用户体验的动画效果

提升用户体验的动画效果

Frontend SELF ZH
第 24 级 , 课程 3
可用

9.1 悬停动画效果 (Hover Effects)

动画在提升网站用户体验(UX)方面扮演着重要角色。它们可以 引导用户注意力,提供反馈,改善导航,使界面更加直观和令人愉悦。 现在我们来看一些使用动画来提升UX的例子。

示例:按钮悬停动画

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>按钮悬停动画</title>
          <style>
            .button {
              padding: 10px 20px;
              background-color: #3498db;
              color: white;
              border: none;
              cursor: pointer;
              transition: background-color 0.3s ease, transform 0.3s ease;
            }

            .button:hover {
              background-color: #2980b9;
              transform: scale(1.1);
            }
          </style>
        </head>
        <body>
          <button class="button">Hover me</button>
        </body>
      </html>
    
  

代码说明:

  • .button: 为按钮定义样式,包括背景颜色和缩放的平滑过渡效果。
  • .button:hover: 鼠标悬停时按钮的背景颜色会改变,并且按钮稍微放大。

9.2 加载动画 (Loading Animations)

加载动画让用户知道数据正在处理或加载中,有助于减少等待的不适感。

示例:加载动画

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>加载动画</title>
          <style>
            .spinner {
              width: 50px;
              height: 50px;
              border: 5px solid #f3f3f3;
              border-top: 5px solid #3498db;
              border-radius: 50%;
              animation: spin 1s linear infinite;
            }

            @keyframes spin {
              0% {
                transform: rotate(0deg);
              }

              100% {
                transform: rotate(360deg);
              }
            }
          </style>
        </head>
        <body>
          <div class="spinner"></div>
        </body>
      </html>
    
  

代码说明:

  • .spinner: 定义加载动画的样式,包括边框和旋转效果。
  • @keyframes spin: 定义从0到360度的旋转动画。

9.3 页面过渡动画 (Page Transition Animations)

页面或应用程序部分之间的过渡动画可以帮助用户导航,为交互创造更流畅的体验。

示例:页面过渡动画

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>页面过渡动画</title>
          <style>
            .page {
              opacity: 0;
              transform: translateY(20px);
              transition: opacity 0.5s ease, transform 0.5s ease;
            }

            .page.active {
              opacity: 1;
              transform: translateY(0);
            }
          </style>
        </head>
        <body>
          <div class="page">Content of the page</div>
          <script>
            document.addEventListener('DOMContentLoaded', function() {
              document.querySelector('.page').classList.add('active');
            });
          </script>
        </body>
      </html>
    
  

代码说明:

  • .page: 为页面定义样式,包括初始的不透明度和下移。
  • .page.active: 添加active类后页面变得完全可见,并回到原来的位置。
  • JavaScript: 页面加载时为.page元素添加active类,启动动画。

9.4 点击动画效果 (Click Animations)

点击元素时的动画效果可以增强用户反馈,令交互更有趣。

示例:按钮点击动画

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>按钮点击动画</title>
          <style>
            .button {
              padding: 10px 20px;
              background-color: #e74c3c;
              color: white;
              border: none;
              cursor: pointer;
              transition: transform 0.1s ease;
            }

            .button:active {
              transform: scale(0.95);
            }
          </style>
        </head>
        <body>
          <button class="button">Click me</button>
        </body>
      </html>
    
  

代码说明:

  • .button: 为按钮定义样式,包括缩放的平滑过渡。
  • .button:active: 按钮被点击时,轻微缩小,创建点击效果。
1
任务
Frontend SELF ZH, 第 24 级, 课程 3
已锁定
悬停动画
悬停动画
1
任务
Frontend SELF ZH, 第 24 级, 课程 3
已锁定
点击动画
点击动画
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION