如何使用纯CSS实现切换按钮时背景的悬停动画效果

本篇文章给大家带来的内容是关于如何使用纯css实现切换按钮时背景的悬停动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

341040062-5b79e47e984b9_articlex.gif

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,导航中包含一个无序列表,列表中有一个列表项:

居中显示:

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

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: teal;}

隐藏列表项前端的引导符号:

nav ul {    padding: 0;    list-style-type: none;}

定义按钮容器尺寸:

:root {    font-size: 10px;}nav li {    width: 20rem;    height: 7rem;}

设置文字样式:

nav li {    font-size: 20px;    text-align: center;    line-height: 7rem;    font-family: sans-serif;    text-transform: uppercase;    letter-spacing: 1px;}

用伪元素制作 2 个背景色块:

nav li {    position: relative;}nav li::before,nav li::after {    content: '';    position: absolute;    width: inherit;    height: inherit;    top: 0;    left: 0;}nav li::before {    background-color: white;    z-index: -1;}nav li::after {    background-color: goldenrod;    z-index: -2;}

让后面的背景块向右下偏移,并且让前面的背景块投放阴影,增加立体效果:

nav li::before {    box-shadow: 0.2rem 0.2rem 0.5rem rgba(0, 0, 0, 0.2);}nav li::after {    transform: translate(1.5rem, 1.5rem);}

接下来增加悬停效果。

设置缓动时间,主元素和伪元素都将有缓动效果:

nav li {    transition: 0.3s;}nav li::before,nav li::after {    transition: 0.3s;}

当悬停时,2 个背景色块的颜色互换:

nav li:hover::before {    background-color: goldenrod;}nav li:hover::after {    background-color: white;}

同时,后面的背景色块的向左上方移动,按钮整体则向右下方移动:

nav li:hover {    transform: translate(1.5rem, 1.5rem);}nav li:hover::after {    transform: translate(-1.5rem, -1.5rem);}

同时,再让文本在悬停时变色:

nav li:hover {    color: white;}

再增加几个按钮:

最后,增加按钮之间的间距:

nav li {    margin: 3rem;}

大功告成!

相关推荐:

如何使用CSS实现一只鸭子头(附代码)

如何使用纯CSS实现一只黑色的愤怒小鸟(附代码)

以上就是如何使用纯CSS实现切换按钮时背景的悬停动画效果的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:06:30
下一篇 2025年12月24日 02:06:52

相关推荐

  • 如何使用CSS实现一只鸭子头(附代码)

    本篇文章给大家带来的内容是关于如何使用css实现一只鸭子头(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器中包含…

    好文分享 2025年12月24日
    000
  • css布局模型有哪些?css三种布局模型的介绍

    本篇文章给大家带来的内容是关于css布局模型有哪些?css三种布局模型的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 流动模型(flow) 默认的网页布局模式  * 块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布  * 内联元素都会在所处的包含元素内从左到右水平分布…

    2025年12月24日 好文分享
    000
  • css实现点击菜单向右展开显示内容的代码

    本篇文章给大家带来的内容是关于css实现点击菜单向右展开显示内容的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css多级菜单向右展开 *{margin: 0 auto;padding: 0} .nav-wrapper{width: 100px;} .nav-wrapper …

    好文分享 2025年12月24日
    000
  • css实现文字内容若超出设定宽度则用省略号代替余下内容(代码)

    本篇文章给大家带来的内容是关于css实现文字内容若超出设定宽度则用省略号代替余下内容(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。  css超出一定宽度用省略号…代替,如何实现呢?如下代码: .content .navleft .histiry>ul{wi…

    好文分享 2025年12月24日
    000
  • css如何使用opacity属性给背景图片加透明度(代码)

    本篇文章给大家带来的内容是关于css如何使用opacity属性给背景图片加透明度(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css 中无法直接给背景图片加 opacity 属性,可以使用下面的方法绕过这个限制: div { width: 200px; height: 2…

    好文分享 2025年12月24日
    000
  • css文字样式中属性的介绍(附代码)

    本篇文章给大家带来的内容是关于css文字样式中属性的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、设置文字字体——font-family 属性值建议用英文黑体Arial;  微软雅黑 “Microsoft Yahei”; 宋体“SimSun”提高加载速度; 设置…

    好文分享 2025年12月24日
    000
  • css中背景相关的属性是哪些?css背景属性的介绍

    css背景有哪些相关属性?下面本篇文章给大家带来关于css背景属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、css背景属性之为内容设置背景色:background-color; 属性: 颜色;  inherit;继承父级样式 box.html 背景 <p为内容…

    好文分享 2025年12月24日
    000
  • css怎么设置超链接?css超链接样式的设置方法

    本篇文章给大家带来的内容是关于css超链接如何设置?css超链接样式的设置方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、简单超链接 box.html 超链接 首页 link.css a.link{ text-decoration:none; font-size:23px;…

    好文分享 2025年12月24日
    000
  • css怎么设置表格样式?css设置表格样式的方法

    一个简单的表格有时会感觉很单调,那么怎么给css表格加样式呢?本篇文章就给大家介绍关于css表格样式的设置方法。 1、一个简单的表格 table.html 表格样式 课程表 星期\课程 星期一 星期二 星期三 星期四 星期五 1-2节 数学 语文 化学 英语 英语 3-4节 英语 物理 化学 英语 …

    好文分享 2025年12月24日
    000
  • css的盒子模型属性有哪些?css盒子模型相关属性的介绍

    本篇文章给大家带来的内容是关于css的盒子模型属性有哪些?css盒子模型相关属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、盒子模型图  2、一个简单的盒子模型 box.html 立即学习“前端免费学习笔记(深入)”; 盒子模型 标准文件流不能制作精美的网页;只有脱离…

    2025年12月24日
    000
  • css选择器有哪些?css选择器使用总结

    本篇文章给大家带来的内容是关于css选择器有哪些?css选择器使用总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1.选择符(器)使用基本语法 选择符{    属性1:属性值1;            属性2:属性值2;            属性3:属性值3;        …

    好文分享 2025年12月24日
    000
  • css实现图片循环的动画效果(代码)

    本篇文章给大家带来的内容是关于css实现图片循环的动画效果(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 *{margin: 0;padding: 0;}.robot{width: 167px; height: 191px; background: url(robot.pn…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS 实现一个没有DOM元素的动画效果

    本篇文章给大家带来的内容是关于如何使用纯css 实现一个没有dom元素的动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 没有 dom 元素,直接写 css。设置页面空间: body { position: fixed; margin: 0; width:…

    2025年12月24日
    000
  • img标签设置display:block属性时宽度无法设定为100%的解决办法

    本篇文章所说的内容是img标签设置display:block属性时宽度无法设定为100%的解决办法,方法很详细,有一定的参考价值,有需要的朋友可以参考一下,希望可以对你有所帮助。 现象 如下代码,img标签设置了display:block,尺寸宽度无法设定为100% img标签设置display:b…

    好文分享 2025年12月24日
    000
  • css的position属性有哪些?css中position属性及用法的介绍

    本篇文章给大家带来的内容是关于css的position属性有哪些?css中position属性及用法的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 position 属性介绍 (1)css中position 属性自 CSS2 起就有了,该属性规定元素的定位类型。所有主流浏览器…

    2025年12月24日 好文分享
    000
  • 如何使用CSS和D3实现黑白交叠的动画效果

    本篇文章给大家带来的内容是关于如何使用css和d3实现黑白交叠的动画效果,文章介绍了对js中this的理解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器中包含 3 个子元素,每个子元素代表一个圆: 居中显示: body { margin: 0…

    2025年12月24日
    000
  • 如何使用CSS和D3实现用文字组成的心形动画效果(附代码)

    本篇文章给大家带来的内容是关于如何使用css和d3实现用文字组成的心形动画效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 立即学习“前端…

    2025年12月24日
    000
  • css实现3d动画特效的代码实例

    本篇文章给大家带来的内容是关于css实现3d动画特效的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 首先让我们来看一张效果图 1.1.1 属性 perspective :透距离,单位像素(值越小,透视距离越近,效果越明显):设置父元素上 perspective-origi…

    2025年12月24日
    000
  • CSS盒模型中两种模型的简单介绍

    本篇文章给大家带来的内容是关于css盒模型中两种模型的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 基本概念 盒模型是有两种标准的,一个是标准模型,一个是IE模型。 标准模型中,盒模型的宽高只是内容(content)的宽高 IE模型中盒模型的宽高是内容(content)+…

    2025年12月24日
    000
  • 如何使用CSS实现货车loader的效果

    本篇文章给大家带来的内容是关于如何使用css实现货车loader的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器代表卡车,包含的 2 个子元素代表车头和尾气; 代表道路: 立即学习“前端免费学习笔记(深入)”; 居中显示,同时道路与页面之…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信