【html】爱心跳动动画:CSS魔法背后的故事

news2024/11/19 15:37:11

 效果展示:

代码介绍:

爱心跳动动画:CSS魔法背后的故事

在前端开发中,CSS不仅仅是一种用于控制网页样式的工具,它也是一种表达创意和想象力的艺术手段。今天,我要为大家介绍一段使用CSS实现的爱心跳动动画代码,这段代码将带您领略CSS的魔法之处。

首先,我们来整体看一下这个动画的结构。这个动画主要由一个类名为heart的<div>元素构成,通过CSS的伪元素::before和::after来绘制出爱心的形状。同时,我们还使用了CSS的@keyframes规则来定义动画效果,让爱心能够呈现出跳动的视觉效果。

在CSS中,我们首先通过*选择器重置了所有元素的margin和padding,确保了页面布局的一致性。接着,我们设置了body和html的宽度和高度都为100%,这样可以让页面内容完全填满整个视口。

然后,我们定义了.heart类及其伪元素的样式。使用position: relative;将.heart元素定位为其正常位置,然后通过::before和::after伪元素来创建爱心的上半部分和下半部分。这里利用了绝对定位(position: absolute;)和border-radius属性来绘制出圆润的爱心形状。同时,我们还添加了box-shadow来增强爱心的立体感。

接下来是动画的核心部分。我们使用@keyframes定义了一个名为heartbit的动画,该动画描述了爱心跳动的过程。在动画的0%和100%状态下,我们通过transform: rotate(45deg) scale(0.6/1.4);来改变爱心的缩放比例,从而模拟出跳动的效果。这里需要注意的是,虽然我们试图通过改变font-size来影响动画效果,但实际上font-size对.heart这个不包含文本的元素没有任何影响,因此这部分代码是无效的。

最后,在.heart类中,我们将animation属性设置为heartbit 0.1s alternate infinite;,这表示动画将无限次地交替播放,每次播放的持续时间为0.1秒。

此外,代码中还有一个p元素的样式定义,但是在HTML结构中并没有对应的p元素,所以这个样式在这里并没有发挥作用。

通过这个例子,我们可以看到CSS的强大之处。它不仅能够控制页面的布局和样式,还能够通过动画和交互效果为网页增添活力和趣味性。当然,这只是一个简单的例子,CSS还有很多高级特性和用法等待我们去探索和实践。希望这个例子能够激发您对CSS的兴趣和热情,让您在前端开发的道路上越走越远。

源码:

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;

        }

        body,
        html {
            width: 100%;
            height: 100%;
        }
        .heart::before{
            content: "";
            width: 200px;
            height: 100px;
            background-color: red;
            position: absolute;
            left: 0;
            top: -99px;
            border-radius: 100px 100px  0 0;
            box-shadow: 0 0 30px red;
        }

        body {
            background-color: pink;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
        }

        .heart::after{
            content: "";
            width: 100px;
            height: 200px;
            background-color: red;
            position: absolute;
            left: -99px;
            top: 0;
            border-radius:  100px 0 0 100px;
            box-shadow: 0 0 30px red;
        }


        .heart {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 200px;
            height: 200px;
            background-color: red;
            position: relative;
            transform: rotate(45deg);
            animation: heartbit 0.1s alternate infinite;
            box-shadow: 0 0 30px red;
        }

        @keyframes heartbit{
            0%{
                transform: rotate(45deg) scale(0.6) ;
                font-size: 30px;
            }
            /* 25%{
                transform: rotate(45deg) scale(0.8);
            }
            50%{
                transform: rotate(45deg) scale(1);
            }
            75%{
                transform: rotate(45deg) scale(1.2);
            } */
            
            100%{
                transform: rotate(45deg) scale(1.4);
                font-size: 30px;
            }
            
        }

        p{
            transform: rotate(315deg);
            
        }
    </style>
</head>

<body>
    <div class="heart">

    </div>
</body>

</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【TB作品】MSP430G2553,单片机,口袋板, 交通灯控制系统

题8 交通灯控制系统 十字路口交通灯由红、绿两色LED显示器&#xff08;两位8段LED显示器&#xff09;组成&#xff0c;LED显示器显示切换倒计时&#xff0c;以秒为单位&#xff0c;每秒更新一次&#xff1b;为确保安全&#xff0c;绿LED计数到0转红&#xff0c;经5秒延时&#…

深度解析:河南资信预评价乙级资质人员专业背景要求

深度解析&#xff1a;河南资信预评价乙级资质人员专业背景要求 河南资信预评价乙级资质对人员的专业背景有着明确的要求&#xff0c;这些要求旨在确保工程咨询单位具备足够的专业能力和技术水平。以下是对这些专业背景要求的深度解析&#xff1a; 一、咨询工程师&#xff08;投…

基于IDEA的Maven(依赖介绍和引用)

如何通过一个坐标信息&#xff08;依赖&#xff09;去引用 &#xff0c;某个"jar 包" 会在这篇博客进行学习。 目录 一、学习开始 &#xff08;0&#xff09;项目的结构组成和 "pom.xml" 文件内容。 &#xff08;1&#xff09;首先需要一个标签&#xf…

Open3D点云处理学习

Color ICP Colored point cloud registration — Open3D 0.11.0 documentation Colored point cloud registration - Open3D 0.18.0 documentation 展示了使用color-icp结果 对比gicp错误处理结果 intel自己的论文 Colored Point Cloud Registration Revisited 优化方程 参…

计算机行业的现状与未来之2024

年年都说编程好&#xff0c;编程工资涨不了。 人家骑车送外卖&#xff0c;月入两万好不好。 一、计算机专业的背景与现状 在过去几十年里&#xff0c;计算机科学相关专业一直是高考考生的热门选择。无论是计算机科学与技术、软件工程&#xff0c;还是人工智能与大数据&#xff…

vue项目首页优化问题(前后端都要优化)

2.1 config/index.js 开启productionGzip 将其productionGzip 配置成true 2.2 配置Gzip的 插件配置 打开webpack.prod.config.js 配置一下这段代码 代码如下 if (config.build.productionGzip) { const CompressionWebpackPlugin require(‘compression-webpack-plugin’)…

深入探索Stable Diffusion:从原理到应用的全面解析

目录 一 Stable Diffusion的基本概念 什么是Stable Diffusion? Stable Diffusion与传统生成模型的区别 二 Stable Diffusion的理论基础 扩散过程的数学描述 马尔可夫链蒙特卡罗方法(MCMC) 三 Stable Diffusion的算法实现 基本步骤 代码实现 四 Stable Diffusion的…

jdk下载安装及电脑上同时安装多个jdk

一、jdk的下载 官方地址: Java Software | Oracle 系统环境变量配置 1、首先新建JDK1.8和17的JAVA_HOME&#xff0c;他们的变量名区分开&#xff0c;分别为JAVA17_HOME&#xff0c;JAVA8_HOME。分别指向他们的安装地址。 2、新建配置他们可变的地址&#xff0c;这个环境变量的值…

智能建筑与物联网技术:重塑未来空间的智慧交响曲

在21世纪的建筑领域&#xff0c;智能建筑已经成为城市发展的新地标&#xff0c;而物联网技术&#xff08;IoT&#xff09;正是驱动这一变革的核心引擎。下面大家一起窥探智能建筑与物联网技术结合的奇妙世界&#xff0c;探讨其广泛应用与未来发展趋势。 物联网技术&#xff1a…

保障信息安全!等保2.0的二级和三级到底有何不同?详细解析

在应用场景上&#xff0c;二级是地市级以上的国家机关、企业、事业单位的一般信息系统&#xff0c;三级是各级政府、企业、事业单位的内部重要信息系统&#xff0c;还有各个部委的官方网站等。 在评定标准方面&#xff0c;第二级和第三级则是以系统受损后对公共和国家安全的损害…

LoReFT——大语言模型的表示微调

引言 参数高效的微调或 PeFT 方法寻求通过更新少量权重来适应大型语言模型。然而&#xff0c;大多数现有的可解释性工作已经证明&#xff0c;表示编码了丰富的语义信息&#xff0c;这表明它可能是编辑这些表示的更好、更强大的替代方案。预先训练的大型模型通常经过微调以用于…

避免Tomcat调试信息泄露的最佳实践

大家好!我是小米,一个热爱分享技术的小伙伴。最近我们团队在进行网站安全扫描时,发现了一个敏感信息泄露的漏洞。经过一番努力,终于解决了这个问题。今天我想在这里分享我们的经历,希望能为大家提供一些参考和帮助。 问题背景 在处理请求过程中,如果服务器遇到运行时错…

《模拟联合国2.9—团队协作》

感谢上海财经大学持续的邀请&#xff0c;今天在阶梯教室举办的《模拟联合国2.0—团队协作》沙盘课程圆满结束。尽管场地的限制带来了一定的挑战&#xff0c;但得益于系统思考中“结构影响行为”的原则&#xff0c;我得以在不同场景中巧妙设计课程结构&#xff0c;极大地促进了大…

python版本的选择

python3.10.a1会出现奇怪的问题&#xff0c; AttributeError: module importlib.metadata has no attribute EntryPoints[end of output]但3.10.11不会 因此下载python&#xff08;win版&#xff09;link 选左边的

Scott Brinker:API对今天的Martech用户来说「非常重要」 ,但它们对即将到来的人工智能代理浪潮至关重要

API在Martech中非常重要 猜一猜空格应该填什么&#xff1a; _______之于AI代理就像数据之于AI模型 正如你可能从我的标题猜到的那样&#xff0c;答案是API。让我们讨论一下为什么…… 数据是人工智能模型的差异化 在过去的一年半里&#xff0c;人工智能疯狂的超级炒作周期…

Java实现一个解析CURL脚本小工具

该工具可以将CURL脚本中的Header解析为KV Map结构&#xff1b;获取URL路径、请求类型&#xff1b;解析URL参数列表&#xff1b;解析Body请求体&#xff1a;Form表单、Raw Body、KV Body、XML/JSON/TEXT结构体等。 使用示例 获取一个http curl脚本&#xff1a; curl --locatio…

备忘录文字颜色怎么改 备忘录改变字体颜色方法

在日常的工作和生活中&#xff0c;备忘录已经成为我不可或缺的好帮手。但是&#xff0c;面对满满当当的备忘录&#xff0c;有时候不同的任务和信息都混在一起&#xff0c;让人眼花缭乱。我常常想&#xff0c;如果能改变备忘录中的文字颜色&#xff0c;用以区分不同类别的事项&a…

HTML李峋同款跳动的爱心代码(双爱心版)

目录 写在前面 跳动的爱心 完整代码 代码分析 系列推荐 最后想说 写在前面 在浩瀚的网络世界中&#xff0c;总有一些小惊喜能触动我们的心弦。今天&#xff0c;就让我们用HTML语言&#xff0c;探索既神秘又浪漫的李峋同款跳动的爱心代码吧。 首先&#xff0c;让我们一起…

【NOI-题解】1431. 迷宫的第一条出路

文章目录 一、前言二、问题问题&#xff1a;1431. 迷宫的第一条出路 三、感谢 一、前言 二、问题 问题&#xff1a;1431. 迷宫的第一条出路 类型&#xff1a;深度搜索、回溯、路径打印 题目描述&#xff1a; 已知一 NN 的迷宫&#xff0c;允许往上、下、左、右四个方向行走…