CSS动画案例6

目录

  • 一、介绍
  • 二、静态页面的布局
    • 1.HTML部分
    • 2.CSS
  • 三、动画交互
  • 四、结束语

一、介绍

本节内容我们来仿照一个网站(戳我进网站)的进入页面时的doing动画部分,首先是大标题从最小变为最大,然后是副标题从下向上走,最后是按钮的抖动。
如下图所示:
在这里插入图片描述

二、静态页面的布局

1.HTML部分

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>banner</title>
    <link rel="stylesheet" href="./icon2/iconfont.css">

</head>

<body>
    <div class="app">
        <div class="title">
            <!-- 最大的标题  -->
            <p>
                We’re the Current
            </p>
            <p> Specialist!</p>
        </div>
         <!-- 副标题 -->
        <i class="desc">keeping you wired</i>
        <!-- 按钮 -->
        <div class="btn">
            <!-- 按钮上的icon图标 -->
            <i class="iconfont icon-0-42"></i>
            <span>Knoe More</span>
        </div>
    </div>
</body>

</html>

2.CSS


    <style>
/*        去除P标签的默认样式*/
        p {
            margin: 0;
            padding: 0;
        }
/*        设置最大盒子的宽和高,*/
        .app {
            width: 100%;
            height: 667px;
/*            让其水平居中显示*/
            margin: 0 auto;
/*            设置背景图片*/
            background: url(./img/banner.jpg) no-repeat center center;
/*            背景图片的大小*/
            background-size: 100% 100%;
/*            使用flex布局,让他的内部水平垂直都居中*/
            display: flex;
            align-items: center;
            justify-content: center;
/*            设置flex样式*/
            flex-direction: column;
/*            设置字体颜色为白色*/
            color: white;

        }
/*        设置标题字体大小,以及加粗,让其水平居中显示*/
        .title {
            font-size: 50px;
            font-weight: bold;
            text-align: center;

        }
/*        设置副标题的样式*/
        .desc {
            font-size: 40px;
            font-weight: 100;
            margin-top: 20px;

        }
/*        设置按钮的样式*/
        .btn {
/*            宽和高*/
            width: 124px;
            height: 32px;
/*            内边距*/
            padding: 12px 30px 17px 30px;
/*            背景颜色*/
            background-color: rgb(244, 118, 41);
/*            圆角*/
            border-radius: 8px;
/*            距离顶部的距离*/
            margin-top: 20px;
/*            字体大小,以及加粗样式*/
            font-size: 16px;
            font-weight: bold;
/*            使用flex布局*/
            display: flex;

        }

    


        /*设置字体与icon图标的距离*/
        .btn>span {
            display: block;
            margin-left: 2px;
            margin-top: 8px;
        }
/*        设置icon的字体大小,以及距离顶部的距离*/
        .icon-0-42 {
            font-size: 30px;
            margin-top: 5px;
        }

    </style>

到这里的话我们就完成了静态页面的基础布局接下来我们来看一下交互效果。

三、动画交互

  /*  设置标题字体大小,以及加粗,让其水平居中显示*/
        .title {
            font-size: 50px;
            font-weight: bold;
            text-align: center;
/*            缩放为0(0帧时为0)*/
            transform: scale(0);
/*            设置动画*/
            animation: title .8s linear forwards;
        }
/*        设置副标题的样式*/
        .desc {
            font-size: 40px;
            font-weight: 100;
            margin-top: 20px;
/*            向下平移50px*/
            transform: translateY(50px);
/*            设置透明度*/
            opacity: 0;
            /*添加动画*/
            animation: desc .5s linear forwards;
        }
     .btn {
/*            宽和高*/
            width: 124px;
            height: 32px;
/*            内边距*/
            padding: 12px 30px 17px 30px;
/*            背景颜色*/
            background-color: rgb(244, 118, 41);
/*            圆角*/
            border-radius: 8px;
/*            距离顶部的距离*/
            margin-top: 20px;
/*            字体大小,以及加粗样式*/
            font-size: 16px;
            font-weight: bold;
/*            使用flex布局*/
            display: flex;
/*            设置开始透明度为0*/
            opacity: 0;
/*            添加动画*/
            animation: btn linear .5s .5s forwards;
        }
/*        标题动画*/

        @keyframes title {
            0% {}

            100% {
/*                0帧为默认,100%让其显示*/
                transform: scale(1);
            }
        }
        /*副标题动画*/
        @keyframes desc {
            /*0帧为默认,100%让其显示透明度为1,垂直移动距离为0*/
            0% {}

            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
/*        按钮的动画*/
        @keyframes btn {
              /*0帧为默认,25%让其显示透明度为0.5,缩放为0.9,50%透明度为1,缩放为1原始大小,75%透明度为1,缩放为0.9,100%让其显示透明度为1,缩放为1原始大小,这样就实现了按钮的抖动*/
            0% {}

            25% {
                opacity: .5;
                transform: scale(.9);
            }

            50% {
                opacity: 1;
                transform: scale(1);
            }

            75% {
                opacity: 1;
                transform: scale(.9);
            }

            100% {
                opacity: 1;
                transform: scale(1);
            }
        }

四、结束语

那么到这里本节内容就结束了,大家可以自己尝试一下,欢迎大家留言评论,来进行探讨,希望本篇博客对您有所帮助,也期待得到你们的建议,如果你也想和我一起学习前端知识,那么你可以加入社区(戳我进社区),社区会不定时更新有关前端的知识,我们下一节再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927867.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Proteus8.17下载安装教程

Proteus是一款嵌入式系统仿真开发软件&#xff0c;实现了从原理图设计、单片机编程、系统仿真到PCB设计&#xff0c;真正实现了从概念到产品的完整设计&#xff0c;其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等&#xff0c;能够帮助用…

工作-k8s问题处理篇

前言&#xff1a;公司这边为集团&#xff0c;所以项目较多&#xff0c;我目前总负责的项目架构有十六个&#xff0c;其中还有海外项目&#xff0c;不过底下也有一定的细分&#xff0c;同事解决不了的问题会升级到我这&#xff0c;只k8s容器平台常用的就有三种&#xff0c;一种是…

spring boot3.3.5 logback-spring.xml 配置

新建 resources/logback-spring.xml 控制台输出颜色有点花 可以自己更改 <?xml version"1.0" encoding"UTF-8"?> <!--关闭文件扫描 scanfalse --> <configuration debug"false" scan"false"><springProperty …

MySQL--SQL优化

目录 1 插入数据 1.1 insert优化 1.1.1 批量插入 1.1.2 手动提交事务 1.1.3 主键顺序插入 1.2 大批量插入数据 2 主键优化 2.1 数据组织方式 2.2 页分裂 2.3 页合并 2.4 主键设计原则 3 order by优化 4 group by优化 1. 使用索引 2. 减少数据集大小 3. 使用合适的聚…

【计算机网络】实验2:总线型以太网的特性

实验 2&#xff1a;总线型以太网的特性 一、 实验目的 加深对MAC地址&#xff0c;IP地址&#xff0c;ARP协议的理解。 了解总线型以太网的特性&#xff08;广播&#xff0c;竞争总线&#xff0c;冲突&#xff09;。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实…

Java函数式编程【二】【Stream的装饰】【中间操作】【map映射器】【摊平映射器flatMap】

一、Java的Stream流式编程中的中间操作 Java的Stream流式编程中&#xff0c;中间操作是对数据流进行处理的一种方式&#xff0c;这些操作通常返回流对象本身&#xff0c;以便可以链接更多的操作。以下是一些常见的中间操作&#xff1a; filter(Predicate predicate) - 用于通过…

使用pymupdf提取PDF文档中的文字和其颜色

最近我在捣鼓一个PDF文件&#xff0c;想把它里面的文字和文字颜色给提取出来。后来发现有个叫pymupdf的库能搞定这事儿。操作起来挺简单的&#xff0c;pymupdf的示例文档里就有现成的代码可以参考。 how-to-extract-text-with-color 我本地的测试代码如下&#xff1a; impor…

MYSQL 多表练习

Sutdent表的定义 ---------------------------------------------------------------------------------------------------- | 字段名 | Id | Name | Sex | Birth | Department | Address | -------------------…

2024年12月HarmonyOS应用开发者基础认证全新题库

注意事项&#xff1a;切记在考试之外的设备上打开题库进行搜索&#xff0c;防止切屏三次考试自动结束&#xff0c;题目是乱序&#xff0c;每次考试&#xff0c;选项的顺序都不同 更新时间&#xff1a;2024年12月3日 这是基础认证题库&#xff0c;不是高级认证题库注意看清楚标…

一文解析Kettle开源ETL工具!

ETL&#xff08;Extract, Transform, Load&#xff09;工具是用于数据抽取、转换和加载的软件工具&#xff0c;用于支持数据仓库和数据集成过程。Kettle作为传统的ETL工具备受用户推崇。本文就来详细说下Kettle。 一、Kettle是什么&#xff1f; Kettle 是一款开源的 ETL&#x…

【模型剪枝】YOLOv8 模型剪枝实战 | 稀疏化-剪枝-微调

文章目录 0. 前言1. 模型剪枝概念2. 模型剪枝实操2.1 稀疏化训练2.2 模型剪枝2.3 模型微调总结0. 前言 无奈之下,我还是写了【模型剪枝】教程🤦‍♂️。回想当年,在写《YOLOv5/v7进阶实战专栏》 时,我经历了许多挫折,才最终完成了【模型剪枝】和【模型蒸馏】的内容。当时…

【算法刷题指南】优先级队列

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

大语言模型微调与 XTuner 微调实战

1 大语言模型微调 1.1 什么是微调 大语言模型微调&#xff08;Fine-tuning of Large Language Models&#xff09;是指在预训练的大型语言模型基础上&#xff0c;使用特定任务的数据进一步训练模型&#xff0c;以使其更好地适应和执行特定任务的过程&#xff0c;用于使LLM&am…

C#学写了一个程序记录日志的方法(Log类)

1.错误和警告信息单独生产文本进行记录&#xff1b; 2.日志到一定内存阈值可以打包压缩&#xff0c;单独存储起来&#xff0c;修改字段MaxLogFileSizeForCompress的值即可&#xff1b; 3.Log类调用举例&#xff1a;Log.Txt(JB.信息,“日志记录内容”,"通道1"); usi…

【前端】特殊案例分析深入理解 JavaScript 中的词法作用域

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;案例代码&#x1f4af;词法作用域&#xff08;Lexical Scope&#xff09;与静态作用域什么是词法作用域&#xff1f;代码执行的详细分析 &#x1f4af;函数定义与调用的…

【Docker】Docker配置远程访问

配置Docker的远程访问&#xff0c;你需要按照以下步骤进行操作&#xff1a; 1. 在Docker宿主机上配置Docker守护进程监听TCP端口 Docker守护进程默认只监听UNIX套接字&#xff0c;要实现远程访问&#xff0c;需要修改配置以监听TCP端口。 ‌方法一&#xff1a;修改Docker服务…

贪心算法题

0简介 0.1什么是贪心算法 贪心算法是用贪婪(鼠目寸光)的角度&#xff0c;找到解决问题的最优解 贪心策略&#xff1a;(从局部最优 --> 整体最优) 1把解决问题的过程分为若干步&#xff1b; 2解决每一个问题时&#xff0c;都选择当前“看上去”最优的解法&#xff1b; 3“…

【HTTP】HTTP协议

一个Web Server就是个服务器软件&#xff08;程序&#xff09;&#xff0c;或者是运行这个服务器软件的硬件&#xff08;计算机&#xff09;&#xff0c;其主要功能是通过HTTP协议与客户端进行通信&#xff0c;来接收&#xff0c;存储&#xff0c;处理来自客户端的HTTP请求&…

分布式存储方式的地理信息数据仓库建立设计方案

背景介绍 随着地理信息技术的发展,GIS系统中的数据规模越来越庞大,传统集中式存储方式在处理高并发查询和大规模空间分析时面临瓶颈。分布式存储通过数据分片、并行计算等技术,为地理信息数据管理提供了新的解决方案。适用场景: 遥感影像存储与分析 城市交通数据管理(如G…

深度学习案例:ResNet50模型+SE-Net

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 回顾ResNet模型 ResNet&#xff0c;即残差网络&#xff0c;是由微软研究院的Kaiming He及其合作者于2015年提出的一种深度卷积神经网络架构。该网络架构的核心创新在于引入了“残差连接”&…