HTML+CSS:花式加载

效果演示

33-花式加载.gif

实现了一个动态加载文本效果,通过定义变量和应用动画效果来实现文本的动态展示。

Code

<div class="container"><h1>loading...</h1>
</div>
:root {--text-color: orangered; /* 定义文本颜色变量为橙红色 */--inner-stroke-color: white; /* 定义内部描边颜色变量为白色 */--outer-stroke-color: midnightblue; /* 定义外部描边颜色变量为深蓝色 */--shadow-color: midnightblue; /* 定义阴影颜色变量为深蓝色 */
}body {height: 100vh; /* 设置body元素高度为视口高度 */display: flex; /* 使用flex布局 */justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */font-family: 'Pacifico', cursive; /* 设置字体为'Pacifico'或cursive */
}body,
.container>h1 {margin: 0; /* 去除默认的margin */
}.container>h1 {position: relative; /* 设置相对定位 */font-size: 100px; /* 设置字体大小为100px */color: var(--text-color); /* 使用定义的文本颜色变量 */font-weight: normal; /* 设置字体为普通粗细 */line-height: 1; /* 行高为1 */text-transform: capitalize; /* 文本转换为首字母大写 */letter-spacing: 13px; /* 字母间距为13px */--text-stroke: 2px var(--inner-stroke-color); /* 定义文本描边 */-webkit-text-stroke: var(--text-stroke); /* 设置Webkit浏览器的文本描边样式 */text-stroke: var(--text-stroke); /* 设置文本描边样式 */animation: rise 1s ease-in-out infinite forwards; /* 应用上升动画效果 */
}@media screen and (max-width: 550px) {.container>h1 {font-size: 70px; /* 在小于550px宽度时,设置字体大小为70px */}
}.container>h1:after {content: 'loading...'; /* 添加文本内容为'loading...' */position: absolute; /* 设置绝对定位 */top: 0; /* 顶部对齐 */left: 0; /* 左侧对齐 */color: transparent; /* 文本颜色透明 */--text-stroke: 8px var(--outer-stroke-color); /* 定义外部描边 */-webkit-text-stroke: var(--text-stroke); /* 设置Webkit浏览器的文本描边样式 */text-stroke: var(--text-stroke); /* 设置文本描边样式 */z-index: -1; /* 设置层级为-1,位于文本下方 */animation: drop 1s ease-in-out infinite forwards; /* 应用下降动画效果 */
}@keyframes drop {0% {filter: drop-shadow(-5px -5px 0 var(--shadow-color)); /* 设置阴影效果初始状态 */}50% {filter: drop-shadow(5px 5px 0 var(--shadow-color)); /* 设置阴影效果中间状态 */}100% {filter: drop-shadow(-5px -5px 0 var(--shadow-color)); /* 设置阴影效果结束状态 */}
}@keyframes rise {0% {transform: translate(5px, 5px); /* 设置上升动画初始状态 */}50% {transform: translate(-5px, -5px); /* 设置上升动画中间状态 */}100% {transform: translate(5px, 5px); /* 设置上升动画结束状态 */}
}

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

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

相关文章

设计模式(十二)享元模式

请直接看原文: 原文链接:设计模式&#xff08;十二&#xff09;享元模式-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- 享元模式定义 享元模式是结构型设计模式的一种&am…

java 企业培训管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 企业培训管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

【Linux取经路】文件系统——inode与软硬链接

文章目录 一、前言二、认识硬件——磁盘2.1 磁盘的存储构成2.2 磁盘的逻辑抽象 三、操作系统对磁盘的使用3.1 再来理解创建文件3.2 再来理解删除文件3.3 再来理解目录 四、硬链接五、软链接六、结语 一、前言 在之前的【Linux取经路】文件系统之被打开的文件——文件描述符的引…

突破编程_前端_JS编程实例(网站标题栏TAB组件)

1 开发目标 实现如下网站标题栏 TAB 组件&#xff1a; 在点击"页面2"选项卡后&#xff0c;TAB 组件会切换对应的面板&#xff1a; 2 详细需求 网站标题栏 TAB 组件该组件需根据客户端提供的参数创建&#xff0c;具备动态构建 TAB 区域、选项卡切换及自定义内容…

Dockerfile构建过程详解

Dockerfile介绍 docker是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 1、编写一个dockerfile文件 2、docker build构建成为一个镜像 3、docker run 运行镜像 …

MySql表子查询

目录 表子查询数据准备 表子查询 子查询返回的结果是多行多列&#xff0c;常作为临时表&#xff0c;这种子查询称为表子查询。 案例&#xff1a;查询入职日期是 “2006-01-01” 之后的员工信息 , 及其部门信息 分解为两步执行&#xff1a; 查询入职日期是 “2006-01-01” 之后…

css 鼠标移入放大的效果

效果 HTML <div class"img-wrap"><img class"img-item" src"../assets/1.png" alt"" srcset""></div> CSS <style lang"less" scoped> .img-wrap {/* 超出隐藏 */overflow: hidden;.img-…

WebSocket介绍+3分钟时间使用WebSocket搭建属自己的聊天室

WebSocket 的由来 在 WebSocket 出现之前&#xff0c;我们想实现实时通信、变更推送、服务端消息推送功能&#xff0c;我们一般的方案是使用 Ajax 短轮询、长轮询两种方式&#xff1a;比如我们想实现一个服务端数据变更时&#xff0c;立即通知客户端功能&#xff0c;没有 WebS…

【LeetCode题解】2809. 使数组和小于等于 x 的最少时间+2788. 按分隔符拆分字符串+410. 分割数组的最大值

文章目录 [2809. 使数组和小于等于 x 的最少时间](https://leetcode.cn/problems/minimum-time-to-make-array-sum-at-most-x/)思路&#xff1a; [2788. 按分隔符拆分字符串](https://leetcode.cn/problems/split-strings-by-separator/)思路&#xff1a; [410. 分割数组的最大…

设计模式(十三)抽象工厂模式

请直接看原文:设计模式&#xff08;十三&#xff09;抽象工厂模式_抽象工厂模式告诉我们,要针对接口而不是实现进行设计。( )-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- …

通信原理:通信的基本概念(第一节课)

1.通信的基本概念 1.1消息&#xff0c;信息与信号 我们先看一个调幅AM无线广播系统 我们信号举个例子&#xff1a; 可以看出&#xff0c;我们研究的参量不一样&#xff0c;对应的模拟和数字信号也会与我们看上去的不同。 信息&#xff1a; 生活中的例子来认识一下&#xff1…

Python——桌面摄像头软件(附源码+打包)

目录 一、前言 二、桌面摄像头软件 2.1、下载项目 2.2、功能介绍 三、打包工具&#xff08;nuitka&#xff09; 四、项目文件复制&#xff08;我全部合到一个文件里面了&#xff09; 五、结语 一、前言 看见b站的向军大叔用electron制作了一个桌面摄像头软件 但是&#x…