前端实战第一期:悬浮动画

悬浮动画

请添加图片描述
像这样的悬浮动画该怎么做,让我们按照以下步骤完成
步骤:

  1. 先把HTML内容做起来,用button属性创建一个按钮,按钮内写上悬浮效果

    <button class='btn'>悬浮动画</button>
    
  2. 在style标签内设置样式,先设置盒子大小,这里用body当作容纳button的盒子 ,再用display:flex;属性把盒子变为弹性盒子,再用justify-content和align-item设置盒子body居中

    /* 第一步:设置盒子大小,这里用body当作容纳button的盒子 */body{/* height:100vh;能起到什么作用 */height:100vh;display:flex;justify-content: "center";align-items:center;}
    
  3. 创建和设置好盒子样式后,开始设置button样式

    • button是块级元素,所以第一步就是设置高宽,高为50px,宽度为100px

    • background-color: transparent;:设置按钮的背景颜色为透明。

    • border-color: #800080;:设置按钮边框的颜色为#800080(一种紫色)。

    • border-radius: 5px;:设置按钮边框的圆角半径为5像素,使按钮的四个角更圆润。

    • color: #800080;:设置按钮文字的颜色为#800080(一种紫色)。

    • font-weight: bolder;:设置按钮文字的字体粗细为比父元素的字体更粗。

    • margin: 0 auto;:设置按钮的水平外边距为自动,上下外边距为0,使按钮在水平方向上居中。

    • cursor: pointer;:当鼠标悬停在按钮上时,改变鼠标的形状为手形,表示这是一个可点击的元素。

    • position: relative;:设置按钮的位置为相对定位,相对于其正常位置进行定位。为后面absolute定位属性做铺垫

      .btn{width:100px;height:50px;background-color:transparent;border-color: #55aa7f;border-radius:5px;color:#55aa7f;font-weight: bolder;;margin:0 auto;cursor:pointer;position:relative;}
      
    1. button样式设置之后,就开始设置动画效果,为动画效果设置了三个选择器

      .btn::before选择器使用::before伪元素创建了一个额外的元素

      /*::before创建的元素是行内元素*/
      .btn::before{content:"";height:100%;width:0px;background-color:#55aa7f;/* 设置::before盒子所在位置 */position:absolute;top:0%;left:-24%;transform:skew(45deg);z-index:-1; /*这使得伪元素在页面上的堆叠顺序低于其正常位置。*/transition:all 0.5s; /*颜色变化*/}
      

      .btn:hover::before选择器是当鼠标悬停在按钮上,就会触发.btn中的before创建的伪元素

      .btn:hover::before{/*触发之后,由原本的0px直接变为160%的宽度,这是很多动画效果都要设置的步骤,像是缩放,悬浮,出现等动画*/width:160%;}
      

      .btn:hover选择器是当鼠标悬停在按钮上,不光按钮背景要变,按钮内的字体颜色也要变

      .btn:hover{color:white;}
      
    2. 动画效果设置好之后,还要在.btn选择器中添加overflow和transition属性

      .btn{
      /* 因为伪元素创建的盒子超出按钮大小,再说也为了美观,直接用overflow属性的hidden值隐藏   */    overflow:hidden;
      /*如果仅仅设置了动画效果,点击过去,直接变过来,这样观感不好,所以用transition过渡元素,选取所有元素,再输入0.5s的过渡时间*/transition:all 0.5s;
      }
      

这样这个小项目就算完成了
完整代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>悬浮动画</title><style>/* 第一步:设置盒子大小,这里用body当作容纳button的盒子 */body{/* height:100vh;能起到什么作用 */height:100vh;display:flex;justify-content: "center";align-items:center;}/* 第二步:创建好盒子后,就开始设置button的样式 */.btn{width:100px;height:50px;background-color:transparent;border-color: #55aa7f;border-radius:5px;color:#55aa7f;font-weight: bolder;;margin:0 auto;cursor:pointer;position:relative;overflow:hidden;transition:all 0.5s; /*字体变化*/}/* 第三步:button样式设置好之后,就开始设置动画效果 */.btn::before{content:"";height:100%;width:0px;background-color:#55aa7f;/* 设置::before盒子所在位置 */position:absolute;top:0%;left:-24%;transform:skew(45deg);z-index:-1;transition:all 0.5s; /*颜色变化*/}.btn:hover::before{width:160%;}.btn:hover{color:white;}</style></head><body><button class='btn'>悬浮动画</button></body>
</html>

运行效果
请添加图片描述

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

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

相关文章

Linux 命令tail

命令作用 tail 命令用于显示文件的末尾内容&#xff0c;默认显示文件的最后 10 行。通常情况下&#xff0c;tail 命令用于实时查看动态日志文件&#xff0c;可以使用 -f 参数跟踪文件内容的变化。 语法 tail [选项] [文件名] 参数 以 log.txt 为例演示参数效果 -n -linesK…

大数据开发的专业术语

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列专栏目录 [Java项…

【LeetCode:11. 盛最多水的容器 | 双指针】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Vue 3 中的 watch 函数:实战指南

Vue.js 是一个功能丰富的前端框架&#xff0c;它允许开发者以声明式的方式创建动态和反应式的用户界面。Vue 3 引入的 Composition API 增强了代码的组织和复用&#xff0c;其中 watch 函数是一个非常有用的特性。本文将通过一系列的示例&#xff0c;展示如何在 Vue 3 应用程序…

全国计算机等级考试| 二级Python | 真题及解析(4)

一、选择题 1.以下对 Python 程序缩进格式描述错误的选项是( ) A.不需要缩进的代码顶行写,前面不能留空白 B.缩进可以用 tab 键实现,也可以用多个空格实现 C.严格的缩进可以约束程序结构,可以多层缩进 D.缩进是用来格式美化 Python 程序的 2.下列Python程…

电话号码查询系统的设计与实现(txt存储版本)

实验项目名称: 电话号码查询系统的设计与实现 实验目的与要求: 1.基础知识: &#xff08;1&#xff09;掌握数据结构中的查找、排序等算法相关知识。 &#xff08;2&#xff09;掌握 C 或 C语言中程序设计的方法。 2.程序功能: (1)自选存储结构&#xff08;顺序表或哈希…

阶段十-分布式-任务调度

第一章 定时任务概述 在项目中开发定时任务应该一种比较常见的需求&#xff0c;在 Java 中开发定时任务主要有三种解决方案&#xff1a;一是使用JDK 自带的 Timer&#xff0c;二是使用 Spring Task&#xff0c;三是使用第三方组件 Quartz Timer 是 JDK 自带的定时任务工具,其…

感知与认知的碰撞,大模型时代的智能文档处理范式

目录 0 写在前面1 GPT4-V&#xff1a;拓宽文档认知边界2 大语言模型的文档感知缺陷3 大一统文档图像处理范式3.1 像素级OCR任务3.2 OCR大一统模型3.3 长文档理解与应用 4 总结抽奖福利 0 写在前面 由中国图象图形学学会青年工作委员会发起的第十九届中国图象图形学学会青年科学…

二叉排序树的创建、插入、查找和删除【数据结构】

二叉排序树 若它的左子树不空&#xff0c;则左子树上所有结点的值均小于它根结点的值。若它的右子树不空&#xff0c;则右子树上所有结点的值均大于它根结点的值。它的左、右树又分为⼆叉排序树 二叉排序树也叫二叉查找树、二叉搜索树 二叉排序树的创建、插入、查找和删除 …

015、控制流运算符match

1. 控制流运算符match Rust中有一个异常强大的控制流运算符&#xff1a;match&#xff0c;它允许将一个值与一系列的模式相比较&#xff0c;并根据匹配的模式执行相应代码。模式可由字面量、变量名、通配符和许多其他东西组成&#xff1b;后文会详细介绍所有不同种类的模式及它…

MySQL中的事务, 特性及应用

事务 1 &#xff09;概述 只有 innodb 引擎支持事务&#xff0c;myisam 是不支持的事务的本质是原子性操作&#xff0c;不可分割&#xff0c;打包多个操作成为一个原子 2 &#xff09;事务的四大特性(ACID) 原子性 Atomicity 原子性是指事务包含的所有操作不可分割要成功一…

ElasticSearch使用Grafana监控服务状态-Docker版

文章目录 版本信息构建docker-compose.yml参数说明 创建Prometheus配置文件启动验证配置Grafana导入监控模板模板说明 参考资料 版本信息 ElasticSearch&#xff1a;7.14.2 elasticsearch_exporter&#xff1a;1.7.0&#xff08;latest&#xff09; 下载地址&#xff1a;http…

C++ 基础知识体系

一&#xff0c;C基础知识体系 基于自己的编程经验搭建的C知识体系 宏声明与定义函数 函数重载函数指针内敛函数默认参数函数对象 面向对象 面向对象与面向过程的区别封装 数据成员成员方法静态成员 继承 单继承多继承虚继承菱形继承 多态 虚函数纯虚函数抽象类 五大原则 单一职…

如何使用 Python+selenium 进行 web 自动化测试?

Selenium是一个自动化测试工具&#xff0c;它可以模拟用户在浏览器中的操作&#xff0c;比如点击、输入、选择等等。它支持多种浏览器&#xff0c;包括Chrome、Firefox、Safari等等&#xff0c;并且可以在多个平台上运行。 安装和配置Selenium 在使用Selenium之前&#xff0c;…

【VTK三维重建-体绘制】第五期 vtkLODProp3D

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ&#xff1a;870202403 前言 本文分享VTK中体绘制中的vtkLODProp3D对象&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff0c;一起进步&#xff01; 你的点赞…

机器学习中异常值的处理方式

背景 3Sigma、Z-Score、box plot、Grubbs假设检验四种分布异常值检验方法可以帮助在数据中识别异常值&#xff0c;而在机器学习中&#xff0c;异常值的检测对模型性能和结果的准确性具有重要影响。 3 Sigma法&#xff1a; 原理&#xff1a;通过计算数据的均值和标准差&#xff…

力扣labuladong——一刷day84

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣743. 网络延迟时间 前言 Dijkstra 算法&#xff08;一般音译成迪杰斯特拉算法&#xff09;无非就是一个 BFS 算法的加强版&#xff0c;它们都是从二叉…

(Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)

上一篇讲了一个单体服务中配置&#xff0c;传统的Nacos配置但是在微服务架构当中肯定都是多环境下配置&#xff0c;比如生产环境&#xff0c;dev测试环境等等。 第一种方式模拟开始&#xff1a; 首先展示在生产环境中nacos如何配置&#xff0c;在模块下新建一个配置文件&…

达梦数据库安装超详细教程(小白篇)

文章目录 达梦数据库一、达梦数据库简介二、达梦数据库下载三、达梦数据库安装1. 解压2. 安装 四、初始化数据库五、DM管理工具 达梦数据库 一、达梦数据库简介 ​ 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统&#xff0c;简称DM。 达梦数…

本地站点通过主备冗余专线连接上云

本地站点通过主备冗余专线连接上云 您可以使用两条物理专线以主备方式将本地数据中心IDC&#xff08;Internet Data Center&#xff09;接入阿里云。采用主备接入方式时&#xff0c;正常情况下仅主用线路在进行流量转发。阿里云按照您配置的健康检查的发包时间间隔探测主用线路…