原文地址:https://segmentfault.com/a/1190000014836748

感想: 把原元素隐藏,利用伪元素::before 和 ::after 各取上下一半 clip-path 切割图片

HTML代码:

  1. <ul class="menu">
  2. <li data-text="New Game">New Game</li>
  3. <li data-text="Load Game">Load Game</li>
  4. <li data-text="Options">Options</li>
  5. <li data-text="Exit">Exit</li>
  6. </ul>

CSS代码:

  1. html,
  2. body {
  3. margin:;
  4. padding:;
  5. height: 100%;
  6. display: flex;
  7. justify-content: center;
  8. align-items: center;
  9. background-color: black;
  10. }
  11. .menu li {
  12. position: relative;
  13. list-style-type: none;
  14. color: transparent;
  15. font-size: 3em;
  16. text-transform: uppercase;
  17. text-align: center;
  18. line-height: 1em;
  19. width: 7em;
  20. margin: 0.5em;
  21. /* 画出文字的分割线 */
  22. border-top: 1px solid transparent;
  23. transition: 0.3s;
  24. }
  25. .menu li:hover{
  26. border-top: 1px solid yellow;
  27. }
  28. /* 用伪元素添加文本 */
  29. .menu li::before,
  30. .menu li::after{
  31. position: absolute;
  32. /* 插入元素的属性值 */
  33. content: attr(data-text);
  34. top:;
  35. left:;
  36. width: 100%;
  37. color: silver;
  38. }
  39. /* 把伪元素文本向上移,竖跨分割线 */
  40. .menu li::before,
  41. .menu li::after {
  42. top: -0.5em;
  43. transition: 0.3 ease-out;
  44. }
  45. /* 用遮罩切出分割线上下二部分的文本 */
  46. .menu li::before{
  47. clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
  48. }
  49. .menu li::after{
  50. clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
  51. }
  52. .menu li:hover::before,
  53. .menu li:hover::after{
  54. color: yellow;
  55. transition: left 0.3s ease-out;
  56. transition-delay: 0.2s;
  57. }
  58. .menu li:nth-child(odd):hover::before,
  59. .menu li:nth-child(even):hover::after{
  60. left: -0.15em;
  61. }
  62. .menu li:nth-child(even):hover::before,
  63. .menu li:nth-child(odd):hover::after{
  64. left: 0.15em;
  65. }

19.纯 CSS 创作一种有削铁如泥感觉的菜单导航特效的更多相关文章

  1. 前端每日实战:19# 视频演示如何用纯 CSS 创作一种有削铁如泥感觉的菜单导航特效

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XqYroe 可交互视频教程 此视频 ...

  2. 如何用纯 CSS 创作一种有削铁如泥感觉的菜单导航特效

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XqYroe 可交互视频教 ...

  3. 14.纯 CSS 创作一种侧立图书的特效

    原文地址:https://segmentfault.com/a/1190000014751037 HTML代码: <div class="books"> <div ...

  4. 12纯 CSS 创作一种文字断开的交互特效

    原文地址:https://segmentfault.com/a/1190000014719591 总结:三部分组成,原文透明,左右都与原文重叠(绝对定位),但左右各取相应一部分. HTML代码: &l ...

  5. 9.纯 CSS 创作一种按钮被瞄准的交互特效

    原文地址:https://segmentfault.com/a/1190000014680999 吃鸡倍镜,哈哈哈 HTML代码: <div class="box"> ...

  6. 如何用纯 CSS 创作一种侧立图书的特效

    效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/deVgRM 可交互视频教程 此视 ...

  7. 如何用纯 CSS 创作一种文字断开的交互特效

    效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/LmjNgL 可交互视频教程 此视 ...

  8. 如何用纯 CSS 创作一种按钮被瞄准的交互特效

    效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. 在线演示 https://codepen.io/zhang-ou/pen/ELWMLr 可交互视频教程 此视 ...

  9. 前端每日实战:12# 视频演示如何用纯 CSS 创作一种文字断开的交互特效

    效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/LmjNgL 可交互视频教程 此视频是可以交 ...

随机推荐

  1. linux 修改mac地址,干坏事必备

    首先关闭无线 wlan0 ifconfig wlan0 down 修改mac地址 macchanger -m [MAC] [INTERFACE] 例如:macchanger -m ::::: wlan ...

  2. Android 项目中的资源获取方法

    Android资源文件分类: Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件 ...

  3. 下载goland解压错误

    把连接里面的 download.jetbrains.8686c.com 换成 download-cf.jetbrains.com

  4. 【Graphite】使用dropwizard.metrics向Graphite中写入指标项数据

    graphite 定时向Graphite中写入指标项数据,指标项模拟个数3000个 使用的类库 官方文档   dropwizard的github地址 Metric官方文档 metrics.dropwi ...

  5. 峰Redis学习(5)Redis 数据结构(Set的操作)

    第五节:Redis 数据结构之Set 类型 存储Set,这里的Set是无序的:  和List类型不同的是,Set集合中不允许出现重复的元素  Set可包含的最大元素数量是4294967295   存储 ...

  6. PAT 乙级 1054 求平均值 (20) C++版

    1054. 求平均值 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题的基本要求非常简单:给定N个实 ...

  7. Consul之:key/value存储

    key/value作用 动态修改配置文件 支持服务协同 建立leader选举 提供服务发现 集成健康检查 除了提供服务发现和综合健康检查,Consul还提供了一个易于使用的键/值存储.这可以用来保存动 ...

  8. 电脑不能上网win7 解决办法

    情况一览: 电脑连的是WIFI 手机能上,局域网其他电脑能上 电脑浏览器打不开网页 问题解决: //win+R 快捷键进入cmd 1.ipconfig 看电脑有没有ip 2.ipconfig nslo ...

  9. MySQL操作mysqldump命令详解

    --all-databases , -A导出全部数据库. --all-tablespaces , -Y导出全部表空间. --no-tablespaces , -y不导出任何表空间信息. --add-d ...

  10. Scala 入门详解

    Scala 入门详解 基本语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.类,对象,方法,实例变 ...