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

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

HTML代码:

<ul class="menu">
<li data-text="New Game">New Game</li>
<li data-text="Load Game">Load Game</li>
<li data-text="Options">Options</li>
<li data-text="Exit">Exit</li>
</ul>

CSS代码:

html,
body {
margin:;
padding:;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: black;
}
.menu li {
position: relative;
list-style-type: none;
color: transparent;
font-size: 3em;
text-transform: uppercase;
text-align: center;
line-height: 1em;
width: 7em;
margin: 0.5em;
/* 画出文字的分割线 */
border-top: 1px solid transparent;
transition: 0.3s;
}
.menu li:hover{
border-top: 1px solid yellow;
}
/* 用伪元素添加文本 */
.menu li::before,
.menu li::after{
position: absolute;
/* 插入元素的属性值 */
content: attr(data-text);
top:;
left:;
width: 100%;
color: silver;
}
/* 把伪元素文本向上移,竖跨分割线 */
.menu li::before,
.menu li::after {
top: -0.5em;
transition: 0.3 ease-out;
}
/* 用遮罩切出分割线上下二部分的文本 */
.menu li::before{
clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
}
.menu li::after{
clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
}
.menu li:hover::before,
.menu li:hover::after{
color: yellow;
transition: left 0.3s ease-out;
transition-delay: 0.2s;
}
.menu li:nth-child(odd):hover::before,
.menu li:nth-child(even):hover::after{
left: -0.15em;
}
.menu li:nth-child(even):hover::before,
.menu li:nth-child(odd):hover::after{
left: 0.15em;
}

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. Delphi 的 Bit

    我一直感觉 Delphi 下的Bit操作不是很好使, 所以一直屏蔽着这方面的学习.不过最近收集整理了一下代码. 原因是这样的. 由于某个需求被分解成 在 0~n(不定) 中,有几个数字被置换成了“tr ...

  2. STL基础--算法(排序)

    STL排序算法 排序算法要求随机访问迭代器 vector, deque, container array, native array 例子 vector<int> vec = {9,1,1 ...

  3. 部署Java Web项目到Heroku

    1.在Heroku上创建一个新的App 2. 创建成功后添加对MYSQL的支持,点击find more add-ons 3. 这里我选择的是 JawsDB Mysql 4.添加成功后我们可以查看数据库 ...

  4. 流媒体技术笔记(DarwinStreamingServer相关)

    简介 Darwin Streaming Server简称DSS.DSS是Apple公司提供的开源实时流媒体播放服务器程序.整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做 ...

  5. 享元(FlyWeight)模式

    享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式.享元模式尝试 ...

  6. HashMap的自定义实现

    一.背景: HashMap到底是怎么实现的? 一对一对的存放,通过key找value:map的键不能重复:自己怎么实现呢?   代码: Wife.java  辅助类 package com.cy.co ...

  7. Hive数据导入导出的几种方式

    一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他 ...

  8. 【ZZ】谈谈持续集成,持续交付,持续部署之间的区别

    谈谈持续集成,持续交付,持续部署之间的区别 http://blog.flow.ci/cicd_difference/ 谈谈持续集成,持续交付,持续部署之间的区别 2016年08月03日 标签:beta ...

  9. CentOS 7安装Oracle 11gR2以及设置自启动(2)

    6.创建表空间和用户授权 (1).连接数据库 $ sqlplus / as sysdba (2).创建数据库表空间 语法: create tablespace 表空间名 datafile ‘物理地址( ...

  10. TextView-- 测量文字宽度

    https://my.oschina.net/lengwei/blog/637380; http://blog.csdn.net/mare_blue/article/details/51388403; ...