博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端每日实战:19# 视频演示如何用纯 CSS 创作一种有削铁如泥感觉的菜单导航特效...
阅读量:6531 次
发布时间:2019-06-24

本文共 1777 字,大约阅读时间需要 5 分钟。

图片描述

效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

可交互视频教程

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

源代码下载

请从 github 下载。

代码解读

定义 dom,一个列表中包含一个列表项,列表项有一个 data-text 属性:

居中显示:

html,body {    height: 100%;    display: flex;    align-items: center;    justify-content: center;    background-color: black;}

设置文本样式:

.menu {    padding: 0;}.menu li {    list-style-type: none;    color: white;    font-size: 3em;    font-weight: bold;    text-transform: uppercase;    text-align: center;    line-height: 1em;    width: 7em;}

画出文字的分割线:

.menu li {    border-top: 1px solid yellow;}

隐藏文本:

.menu li {    color: transparent;}

用伪元素增加文本:

.menu li {    position: relative;}.menu li::before {    content: attr(data-text);    position: absolute;    top: 0;    left: 0;    width: 100%;    color: silver;}

把伪元素文本向上移,竖跨分割线:

.menu li::before,.menu li::after {    top: -0.5em;}

用遮罩切出分割线上下二部分的文本:

.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%);}

dom 中再增加几个菜单项:

.menu li { margin: 0.5em;}

为分割线增加动画效果:

.menu li {    border-top: 1px solid transparent;    transition: 0.3s;}.menu li:hover {    border-top: 1px solid yellow;}

为文字增加动画效果:

.menu li::before,.menu li::after {    transition: 0.3s ease-out;}.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;}

大功告成!

知识点

  • border-top
  • content
  • attr
  • clip-path
  • transition-delay
  • nth-child()

转载地址:http://vgqbo.baihongyu.com/

你可能感兴趣的文章
Android TableLayout 常用的属性介绍及演示
查看>>
Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
查看>>
[原创]让您的服务器不再有被挂马的烦恼---文件安全卫士
查看>>
流水线和PC指针
查看>>
Fiddler设置抓取https请求
查看>>
div布局小技巧
查看>>
OCP 12c最新考试原题及答案(071-4)
查看>>
MHA故障切换和在线手工切换原理
查看>>
JAVA并发,同步锁性能测试
查看>>
Python版本切换和Pip安装
查看>>
SilverLigth学习笔记--控制 Silverlight控件样式(转)
查看>>
poj3262
查看>>
第四十天笔记
查看>>
4、动态代理
查看>>
Loj #6073.「2017 山东一轮集训 Day5」距离
查看>>
我的TCP/IP学习笔记
查看>>
shell--字符串的截取变量子串串
查看>>
Cas_个人理解
查看>>
UISearchController
查看>>
梦断代码阅读笔记02
查看>>