如何用纯 CSS 创作气泡填色的按钮特效
效果预览
在线演示
按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。
https://codepen.io/comehope/pen/eKqZjy
可交互视频
此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
请用 chrome, safari, edge 打开观看。
https://scrimba.com/p/pEgDAM/ceBEytp
源代码下载
本地下载
每日前端实战系列的全部源代码请从 github 下载:
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,用 <nav>
, <ul>
, <li>
构建导航结构,每个 <li>
中包含表示气泡的 4 个 <span>
:
<nav><ul><li>home<span></span><span></span><span></span><span></span></li></ul>
</nav>
居中显示:
body {margin: 0;height: 100vh;display: flex;align-items: center;justify-content: center;background-color: black;
}
设置按钮样式:
nav ul {list-style-type: none;margin: 0;padding: 0;
}nav ul li {--c: goldenrod;color: var(--c);font-size: 16px;border: 0.3em solid var(--c);border-radius: 0.5em;width: 12em;height: 3em;text-transform: uppercase;font-weight: bold;font-family: sans-serif;letter-spacing: 0.1em;text-align: center;line-height: 3em;
}
在按钮下面画出气泡:
nav ul li {position: relative;
}nav ul li span {position: absolute;width: 25%;height: 100%;background-color: var(--c);transform: translateY(150%);border-radius: 50%;
}
把 4 个气泡并排摆放:
nav ul li span {left: calc((var(--n) - 1) * 25%);
}nav ul li span:nth-child(1) {--n: 1;
}nav ul li span:nth-child(2) {--n: 2;
}nav ul li span:nth-child(3) {--n: 3;
}nav ul li span:nth-child(4) {--n: 4;
}
增加当鼠标悬停在按钮上时,4 个气泡依次出现的效果:
nav ul li span {transition: 0.5s;transition-delay: calc((var(--n) - 1) * 0.1s);
}nav ul li:hover span {transform: translateY(0) scale(2);
}
隐藏按钮外的内容,形成只在悬停时气泡才出现的效果:
nav ul li {overflow: hidden;
}
把气泡放到下层,文字放到上层:
nav ul li {z-index: 1;transition: 0.5s;
}nav ul li span {z-index: -1;
}nav ul li:hover {color: black;
}
在 dom 中再增加几个按钮:
<nav><ul><li>home<span></span><span></span><span></span><span></span></li><li>products<span></span><span></span><span></span><span></span></li><li>services<span></span><span></span><span></span><span></span></li><li>contact<span></span><span></span><span></span><span></span></li></ul>
</nav>
最后,给按钮之间留出空隙:
nav ul li {margin: 1em;
}
大功告成!
原文地址:https://segmentfault.com/a/1190000015560736
如何用纯 CSS 创作气泡填色的按钮特效相关推荐
- 如何用纯 CSS 创作一个金属光泽 3D 按钮特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/full/MGeRRO 可交互视频教程 此 ...
- 如何用纯 CSS 创作一个金属光泽 3D 按钮特效 1
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/full/MGeRRO 可交互视频教程 此 ...
- 如何用纯 CSS 创作背景色块变换的按钮特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XYKdwg 可交互视频教 ...
- 4. 纯 CSS 创作一个金属光泽 3D 按钮特效
4. 纯 CSS 创作一个金属光泽 3D 按钮特效 原文地址:https://segmentfault.com/a/1190000014599280 HTML代码: <div class=&qu ...
- 如何用纯 CSS 创作一个同心圆弧旋转 loader 特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/OZmXQX 可交互视频教程 此视 ...
- 如何用纯 CSS 创作一个精彩的彩虹 loading 特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vjvoow 可交互视频教 ...
- 如何用纯 CSS 创作出平滑的层叠海浪特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/JvmBdE 可交互视频教 ...
- 如何用纯CSS将图片填满div,自适应容器大小
如何用纯CSS将图片填满div,自适应容器大小 2016-10-11 13:33 网页设计 标签:css 代码 5987 3 我有一个模板,想按常规做一个div里面放置一个img图 ...
- 如何用纯 CSS 创作一个小球上台阶的动画
如何用纯 CSS 创作一个小球上台阶的动画 效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/come ...
最新文章
- python基础题-Python基础30道测试题(字符串相关)
- 深度学习方法笔记之(三):基于区域的卷积神经网络介绍(RCNN)
- 分布式主流配置中心介绍:Apollo/Nacos/Spring Cloud Config/Disconf等
- SSM项目搭建之配置文件
- 白鹭引擎生成自定义整数随机数
- GitHub标星3.6k | 给AI一张高清照片,分分钟还你3D人体模型
- orcad如何设置模块化设计_这个模块化的办公桌让您设计每一个元素,以创造完美的工作设置...
- java输入输出高速
- 基于 SOA 的组件化业务基础平台
- C++ explicit关键字
- 专家称秦始皇遗体可能保存完好(图)
- 【J2EE规范】什么是JNDI
- Linux下音乐播放器的实现
- 计算机找不到海信电视,海信电视突然看不了电视直播了,怎么解决?当贝市场良心分享...
- Linux分区efi,什么时候建立分区的时候需要建立EFI分区
- 大数据推荐算法概念简述
- 欧文内容返回字符串php,欧文写的 phpcms代码执行过程
- java dwg文件_如何用java实现dwg的预览图?
- 内存爆满导致电脑卡顿
- Android图片文字识别(阿里OCR接口)