利用CSS完成一个悬停过渡动画的项目(超级简单)

css不一定要写得多么复杂才能实现特殊效果。如下就是三个超级简单的过渡的例子,可能只是几行代码,但是添加到web应用程序中,却会让它增色不少。

1.gif

如下是我们将在本教程中构建的代码

项目设置

在这个项目中,我们将把过渡效果应用到一个class为box的元素上面。这个box元素内部是垂直和水平居中的文字内容。HTML结构相当简单:

立即学习“前端免费学习笔记(深入)”;

TEXT

CSS代码也一样简单。我们想要使用无衬线字体,并确保div中的段落文本是白色的,可以通过如下代码来实现:

body {  color: white;  font-family: Helvetica, Sans-Serif;}

另外,给box元素添加如下CSS属性:

.box {  width:200px;                 /* Set the Width of box          */  height:50px;                 /* Set the Height of box         */  background:#424242;          /* Dark Grey Background color    */  transition:all 0.25s ease;   /* Transition settings           */  display: flex;               /* Use Flexbox on P              */  align-items: center;         /* Center P                      */  justify-content: center;     /* Center P                      */  margin: 10px;                /* Apply a margin around our Box */}

无论你对CSS的过渡属性熟悉与否,我们在这里都来简要介绍一下,一共分为三步。.第一步,我们需要将它应用到all变化的属性。接下来,设置过渡时长为0.25秒。最后,将动画函数选为ease。ease的表现状态就是起止过程比较缓慢,中间过渡迅速。

holly high! 目前准备工作都已经就绪,接下来就是添加过渡效果了。到目前为止,div看起来应该像下面这样。

2.png

1.褪色效果

首先,添加一个褪色的过渡。新建一个div元素,并为它添加一个名为fade的类:

FADE HERE

接下来我们所需要做的就是为这个fade类指定悬停规则。我们需要借助CSS伪类选择器:hover来完成这件事情。这个伪类选择器对所有的元素都有效,并且会在元素处于鼠标指针悬停状态下的时候激活CSS声明。基于此,我们借助:hover选择器将div的透明度改为0.5:

.fade:hover {  opacity: 0.5;}

简单吧。上面这句CSS声明就为div指定了一个悬停效果。如下就是目前它展现的样子。而你之所以能够看到过渡样式,是因为我们一开始在名为box的类中使用了transition:all 0.25s ease;的声明。看下面,是不是一个还不错的褪色效果:

3.gif

2.来点颜色看看

指定一个变色过渡其实和褪色过渡的过程异曲同工。首先,创建一个div元素,并为它添加一个名为color的类。

COLOR HERE

同样地,我们也要借助:hover选择器来帮我们完成这件事,但是这一次我们不是改变透明度而是背景色:

.color:hover {  background: #FF5722;}

如下就是实际效果了:

4.gif

3.一起摇摆

接下来,来实现一个摆动的效果。这个效果实现起来比前面的两个例子稍显复杂。在这个例子中,我会采用@keyframes来完成。

@keyframes——赋予你在一个CSS动画序列中控制中间步骤的魔力。

首先还是一样,你肯定已经听烦了,创建一个div元素,并未它添加一个名为wiggle的类:

WIGGLE WIGGLE

接下来,我们要做的就是借助@keyframes来创建动画。我们先给动画起个名字,就叫wiggle吧。并在如下的代码中添加抖动效果的实现:

@keyframes wiggle {  20%  { transform: translateX(4px);  }  40%  { transform: translateX(-4px); }  60%  { transform: translateX(2px);  }  80%  { transform: translateX(-1px); }  100% { transform: translateX(0);    }}

从上面的代码已经可以看出,@keyframes赋予我们将动画分解成单步,并且精确定义每一步发生了什么的能力。通过百分比的方式指定动画的进度:

20%——div相对于初始位置右移4px。

40%——div相对于初始位置左移4px。

60%——div相对于初始位置右移2px。

80%——div相对于初始位置左移1px。

100%——div恢复到初始位置。

现在我们就能借助:hover选择器来展示wiggle的动画了:

.wiggle:hover {  animation: wiggle 1s ease;  animation-iteration-count: 1;}

我们将animation设置成wiggle。同时希望动画持续1秒的时长,采用ease的动画效果。

最后,就是指定动画在每次鼠标指针悬停的时候触发一次。

下图就是最终的动画效果:

5.gif

以上就是利用CSS完成一个悬停过渡动画的项目(超级简单)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1614358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 04:13:56
下一篇 2025年12月24日 04:14:07

相关推荐

  • CSS 如何进行单一div的正多边形变换

    本文是纯粹利用css,让“单一个”div,从正三角形变换为正八边形(单一div最多只能做到正八边形),最后再搭配动画的效果,变成正多边形的变换动画,也由于正多边形需要用到不少的三角函数计算,为了方便起见,这里将正多边形的边统一都设为100px。 正三角形 正三角形不需要用到伪元素,只需要设定p本身的…

    2025年12月24日 好文分享
    000
  • css里上下居中怎么弄?

    css上下居中的实现方法:1、将单行的行内元素设置行高等于盒子高;2、将多行的行内元素使用给父元素设置“display:table-cell;和vertical-align: middle;”即可。 css里上下居中也就是垂直居中,css中按元素可以分为三种垂直居中方式,分别是单行的行内元素,多行的…

    2025年12月24日 好文分享
    000
  • CSS实现3D切换功能的代码示例

    本篇文章给大家带来的内容是关于css实现3d切换功能的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Demo #app{ width: 100px; height: 35px; background-color: #006600; text-align: center; …

    好文分享 2025年12月24日
    000
  • CSS如何去除inline-block元素间的间距?(多种方法)

    本篇文章给大家带来的内容是关于css如何去除inline-block元素间的间距?(多种方法),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等…

    好文分享 2025年12月24日
    000
  • CSS控制ul和li的样式的分析(代码)

    本篇文章给大家带来的内容是关于css控制ul和li的样式的分析(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 代码如下: 首页 博客 设计 相册 论坛 关于 CSS:  代码如下: #menu ul {list-style:none;margin:0px;} #menu u…

    好文分享 2025年12月24日
    000
  • 如何在css上让图片居中、图片适应

    移动端基本上都是需要做图片适应处理的,比如轮播图,商品封面图等等;用户发布的图片都不是尺寸规格的图。那么在做移动开发的小伙伴是否遇到图片适应的困难呢?告诉大家,其实css有一个object-fit属性,可以很方便我们来调整图片,本文是小编整理的在css上调整图片的方法。 那么有什么办法处理呢?刚好c…

    2025年12月24日 好文分享
    000
  • css direction属性怎么用?

    css direction属性用于指定文本方向或书写方向是从左到右,还是从右到左。语法为direction:ltr|rtl;设置属性值为ltr,则从左到右;为rtl,则从右到左。 CSS  direction 属性 作用:direction 属性规定文本的方向 / 书写方向。 说明:该directi…

    2025年12月24日
    000
  • 清除浮动和闭合浮动的介绍

    本篇文章给大家带来的内容是关于清除浮动和闭合浮动的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 为什么要清除浮动 子元素 float:left; 脱离文档流,会造成父元素塌陷(撑不起来) 父元素 靠子元素撑起来 清除浮动  clear:both 清除浮动 // 伪元素 :af…

    好文分享 2025年12月24日
    000
  • css的基本语法是什么

    css的基本语法是:1、css规则由选择器和一条或多条声明两个部分构成;2、选择器通常是需要改变样式的HTML元素;3、每条声明由一个属性和一个值组成;4、属性和属性值被冒号分隔开。 CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。【推荐阅读:CSS教程】 selecto…

    2025年12月24日
    000
  • CSS的工作过程介绍(图文)

    本篇文章给大家带来的内容是关于css的工作过程介绍(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在平时的工作中,可能都是再用一些框架或者是简单的CSS来修饰我们的HTML页面,那么仔细想想一个资深的前端从业者,是否需要知道他的工作原理和过程呢,技术这种东西,当然是我们了解…

    2025年12月24日
    000
  • CSS中margin重叠及防止的方法介绍(代码示例)

    本篇文章给大家带来的内容是关于CSS中margin重叠及防止的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 边距重叠解决方案(BFC) 首先要明确BFC是什么意思,其全英文拼写为 Block Formatting Context 直译为“块级格式化上下文” 两…

    2025年12月24日 好文分享
    000
  • css background-color属性怎么用?

    css  background-color属性 作用:设置元素的背景颜色。 background-color:颜色值; 说明:background-color 属性为元素设置一种纯色背景。这种颜色会填充元素的内容、内边距和边框区域,扩展到元素边框的外边界(但不包括外边距)。如果边框有透明部分(如虚线…

    2025年12月24日
    000
  • background-position属性怎么用

    background-position属性是用于设置背景图像的起始位置的,该属性的使用语法是“background-position: x y;”,其中参数x表示水平位置,y表示垂直位置。 本文操作环境:Windows7系统、Dell G3电脑、HTML5&&CSS3版。 backg…

    2025年12月24日
    000
  • background-repeat属性怎么用

    css的background-repeat属性是用来设置背景图像如何平铺的。background-repeat:repeat-x表示只有水平位置会重复背景图像;background-repeat:repeat-y表示只有垂直位置会重复背景图像。 CSS  background-repeat属性 作用…

    2025年12月24日
    000
  • CSS如何使用!important规则?(代码示例)

    学习如何编码网站的最佳方法之一是查看其他网站的源代码,这种做法可以学习到一下好用的技巧。在查看源码的过程中,可能会在该代码中看“!important”;这意味着什么?有什么用?下面本篇文章就来带大家了解一下!important规则,希望对大家有所帮助。 !important规则是什么?怎么用? !i…

    2025年12月24日
    000
  • CSS background-blend-mode属性怎么用?

    CSS background-blend-mode属性用于定义背景层的混合模式,其语法是“background-blend-mode: normal|multiply|screen|overlay|darken|lighten…”。 推荐:《css教程》 background-blend…

    2025年12月24日
    000
  • css border-bottom属性怎么用?

    border-bottom属性是一个css简写属性,用于一个声明中设置所有底部边框属性。 CSS  border-bottom属性 作用:把下边框的所有属性设置到一个声明中。 基本语法: border-bottom:width style color; border-bottom-width:规定下…

    2025年12月24日
    000
  • css border-color属性怎么用?

    border-color属性是一个简写属性,可用于设置一个元素的所有四条边框的颜色,或者为4个边分别设置不同的颜色。 CSS border-color属性 作用:border-color属性用于设置一个元素边框颜色,可以设置1~4个值: border-color:red green blue pin…

    2025年12月24日
    000
  • css outline属性怎么用?

    CSS outline属性是一个简写属性,用于在一个声明中设置所有的轮廓属性,如颜色、样式、宽度,可在元素周围位于边框边缘的外围绘制一条线,能起到突出元素的作用。 css outline属性  作用:是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。 outline 简写属性在一个…

    2025年12月24日
    000
  • css word-spacing属性怎么用?

    CSS word-spacing属性用于设置字与字或单词之间的空白,允许设置负值,当设置负值,则减少字与字之间的空白,否则增加空白。 css word-spacing属性 作用:word-spacing属性增加或减少单词间的空白(即字间隔)。允许指定负长度值,这会让字之间挤得更紧。 说明:该word…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信