0

0

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

不言

不言

发布时间:2018-08-20 10:08:07

|

2604人浏览过

|

来源于php中文网

原创

本篇文章给大家带来的内容是关于如何使用纯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;
}

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

LogoAi
LogoAi

利用AI来设计你喜欢的Logo和品牌标志

下载
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实现一只黑色的愤怒小鸟(附代码)

相关专题

更多
漫蛙2入口地址合集
漫蛙2入口地址合集

本专题整合了漫蛙2入口汇总,阅读专题下面的文章了解更多详细内容。

163

2026.01.06

AO3中文版地址汇总
AO3中文版地址汇总

本专题整合了AO3中文版地址合集,阅读专题下面的文章了解更多详细内容。

88

2026.01.06

python cv2模块教程大全
python cv2模块教程大全

本专题整合了python cv2模块相关教程,阅读专题下面的文章了解更多详细教程。

42

2026.01.06

python创建txt文件教程大全
python创建txt文件教程大全

本专题整合了python创建txt文件相关教程,阅读专题下面的文章了解更多详细内容。

21

2026.01.06

python去掉字符串空格教程大全
python去掉字符串空格教程大全

本专题整合了python去掉字符串空格教程大全,阅读专题下面的文章了解更多详细内容。

2

2026.01.06

Python /与// 教程大全
Python /与// 教程大全

本专题整合了python的/和//的相关内容大全,阅读下面的文章了解更多详细内容。

23

2026.01.06

Python /与// 教程大全
Python /与// 教程大全

本专题整合了python的/和//的相关内容大全,阅读下面的文章了解更多详细内容。

0

2026.01.06

Python /与// 教程大全
Python /与// 教程大全

本专题整合了python的/和//的相关内容大全,阅读下面的文章了解更多详细内容。

0

2026.01.06

python func函数合集
python func函数合集

本专题整合了python func函数相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3实现按钮特效视频教程
CSS3实现按钮特效视频教程

共15课时 | 3.2万人学习

CSS3 3D 特效视频教程
CSS3 3D 特效视频教程

共14课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号