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

 效果展示:

代码介绍:

爱心跳动动画: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.mzph.cn/pingmian/30532.shtml

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

相关文章

【bug】配置SpringCloudAlibaba AI的maven依赖问题

问题描述 尝鲜alibaba的ai模块&#xff0c;maven依赖一直报找不到包&#xff0c;报错如下 Unresolved dependency: org.springframework.ai:spring-ai-core:jar:0.8.1原因分析&#xff1a; 由于是按照官方文档配置的&#xff0c;所以检查了很多遍maven配置&#xff0c;加上去…

【Docker】——安装镜像和创建容器,详解镜像和Dockerfile

前言 在此记录一下docker的镜像和容器的相关注意事项 前提条件&#xff1a;已安装Docker、显卡驱动等基础配置 1. 安装镜像 网上有太多的教程&#xff0c;但是都没说如何下载官方的镜像&#xff0c;在这里记录一下&#xff0c;使用docker安装官方的镜像 Docker Hub的官方链…

内外网映射访问内网服务器

如果本地有公网ip&#xff0c;比如连接的宽带有公网ip&#xff0c;可以直接通过路由配置转发就行了&#xff0c;如果本地没有公网ip&#xff0c;那就需要通过下面这种方式来访问内网服务器了。 1&#xff1a;首先内网服务器需要连接外网&#xff0c;可以通过网线或者WiFi都可以…

小林图解系统-二.硬件结构 2.4CPU缓存一致性

CPU Cache的数据写入 CPU和内存的访问性能越差越大&#xff0c;于是在CPU内部嵌入CPU Cache(高速缓存)。 CPU Cache由Cache Line组成&#xff0c;Cache Line由头标志Tag数据块Data Block组成。 如果数据写入Cache&#xff0c;内存和Cache相对应的数据将不同&#xff0c;需要…

Redis-五种数据结构之列表(ziplist、quicklist)

列表 文章目录 列表压缩列表-ziplistziplist 定义级联更新 快速列表-quicklistquicklistNode 定义quicklist 定义quicklist常用操作其他操作quicklist 相对于普通链表优点quick应用场景在redis 中使用quicklist 列表数据类型可以存储一组按插入顺序排序的字符串&#xff0c;他很…

昇思大模型学习·第一天

mindspore快速入门回顾 导入mindspore包 处理数据集 下载mnist数据集进行数据集预处理 MnistDataset()方法train_dataset.get_col_names() 打印列名信息使用create_tuple_iterator 或create_dict_iterator对数据集进行迭代访问 网络构建 mindspore.nn: 构建所有网络的基类用…

Linux搭建Minio单机环境

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; Linux搭建Minio单机环境 ⏱️ 创作时间&#xff1a; 2024年06月19日 目…

Linux网络命令:网络速度测试工具 speedtest-cli 详解

目录 一、概述 二、安装 speedtest-cli 1、在基于 Debian 的系统上安装 2、在基于 Red Hat 的系统上安装 三、命令语法 1、基本命令语法 2、查看帮助 3、常用选项 四、 speedtest-cli使用示例 1. 基本测试 2. 列出所有可用的服务器 3. 指定服务器进行测试 …

C语言—数据在内存中的存储

1.整数在内存中的存储 文章回顾&#xff08;C语言—操作符详解&#xff09; 整数的2进制表示方式有三种&#xff0c;即原码、反码和补码。 有符号的整数&#xff0c;三种表示方式均有符号位和数值位两部分&#xff0c;符号位都是用0表示“正”&#xff0c;用1表示“负”&…

数据库 | 试卷四

1.数据库系统的特点是 数据共享、减少数据冗余、数据独立、避免了数据不一致和加强了数据保护 2.关系模型的数据结构是二维表结构 3.聚簇索引 cluster index 4. 这里B&#xff0c;C都是主属性&#xff0c;所以B->C不是非主属性对码的部分函数依赖 候选键&#xff08;AC&a…

LabVIEW共享变量

共享变量简介 LabVIEW​为​创建​分布​式​应用使用​共享​变量​可以简化​此类​应用的编程。​ 借助​共享​变量&#xff0c;​您​可以​在​同​一个​程序​框​图​的​不同​循环​之间​或者网络上​的​不同VI之间​共享​数据。与LabVIEW中的许多​其他数据​共…

htb_Editorial

hack the book Editorial 端口扫描 80 22 目录扫描 /upload 是一个上传book information的页面 其中最顶上有一个可以上传书本封面的地方&#xff0c;可以从本地上传&#xff0c;也可以从远程下载 这里可能涉及ssrf和本地文件上传&#xff0c;逐一尝试 随便上传一个图片…

idea搜索只显示100条、如何修改idea搜索的条数

文章目录 一、老版本的IDEA&#xff08;2021年之前的版本&#xff09;二、新版本的IDEA&#xff08;2021年及之后的版本&#xff09;2.1、方式一2.2、方式二 如下图&#xff1a;idea搜索的时候默认只显示100条 要解决IDEA搜索只显示100条的问题&#xff0c;可以通过修改搜索结…

【UML用户指南】-19-对基本行为建模-用例图

目录 1、组成结构 2、表示法 3、一般用法 3.1、对主题的语境建模 3.2、对主题的需求建模 4、常用建模技术 4.1、对系统的语境建模 4.1.1、设计过程 4.2、对系统的需求建模 4.2.1、设计过程&#xff1a; 5、正向工程 UML 中的用例图是对系统的动态方面建模的 5 种图之…

进入docker容器内部操作mysql数据库

文章目录 1、查询docker容器2、进入mysql容器内部3、连接mysql数据库4、查询mysql所有的数据库5、使用某个数据库6、展示数据库中所有的表7、查询某张表8、断开mysql9、退出mysql容器 1、查询docker容器 [rootlocalhost ~]# docker ps CONTAINER ID IMAGE …

商城小程序:颠覆传统电商,打造全新商业生态

在数字化浪潮的推动下&#xff0c;网购行业呈现多元化繁荣发展态势&#xff0c;出现了琳琅满目的商品应用小程序&#xff0c;但市面上的商城小程序基本属于通用型&#xff0c;无论是商城界面展示和基本功能&#xff0c;都不能满足个性化和商品推广需求&#xff0c;阻碍了商品的…

Building wheels for collected packages: mmcv, mmcv-full 卡住

安装 anime-face-detector 的时候遇到一个问题&#xff1a;Installation takes forever #1386&#xff1a;在构建mmcv-full时卡住&#xff0c;这里分享下解决方法&#xff08;安装 mmcv 同理&#xff0c;将下面命令中的 mmcv-full 替换成 mmcv&#xff09; 具体表现如下&#x…

基于Java技术的家乡特色推荐系统

开头语&#xff1a;你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术&#xff0c;SpringBoot框架 工具&#xff1a;Eclipse&#xff0c;Navi…

强大的多数据库客户端工具:DataGrip【送源码】

今天给大家带来的工具是&#xff1a;DataGrip 介绍 DataGrip是jetbrains开发的一款关系数据库和 NoSQL 数据库的多数据库客户端工具&#xff0c;可以30天免费试用&#xff0c;后续使用需要购买。 DataGrip还是一款强大的跨平台工具&#xff0c;支持多种操作系统&#xff0c;比…

英伟达市值飙升,超越苹果微软并超过英国股市总市值

原标题&#xff1a;英伟达超越苹果微软市值&#xff0c;成为全球市值最高的企业 易采游戏网6月19日消息&#xff1a;近日&#xff0c;美国科技巨头英伟达市值的迅速增长引起了市场广泛关注。据最新数据显示&#xff0c;截至本周二收盘&#xff0c;英伟达的市场资本化已达到3.34…