如何创作按钮被从纸上掀起的立体效果

简介: 效果预览在线演示按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。https://codepen.io/comehope/pen/KRbXGe可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

img_054a5d92839c450a0b788edbc7ec0af0.png

效果预览

在线演示

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


https://codepen.io/comehope/pen/KRbXGe


可交互视频教程


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


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


https://scrimba.com/c/c3e8dCB


源代码下载


本地下载

每日前端实战系列的全部源代码请从 github 下载:


https://github.com/comehope/front-end-daily-challenges


代码解读


定义 dom,标准的导航版式:

<nav>
    <ul>
        <li>Home</li>
    </ul>
</nav>

居中显示:

html, body {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(cadetblue, darkcyan);
}

设置容器的样式,把背景色声明为变量:

nav {
    width: 300px;
    height: 300px;
    --bgcolor: lemonchiffon;
    background-color: var(--bgcolor);
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 30px 0;
    box-sizing: border-box;
}

去掉列表符,让菜单项居中显示:

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

设置菜单项的文字样式:

nav ul li {
    color: brown;
    font-size: 20px;
    font-family: sans-serif;
}

为菜单项增加鼠标划过效果:

nav ul li {
    padding: 0.5em 1em;
    border-radius: 0.5em;
    transition: 0.5s ease-out;
}

nav ul li:hover {
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1),
                0 6px 6px rgba(0, 0, 0, 0.1),
                0 8px 8px rgba(0, 0, 0, 0.1),
                0 12px 12px rgba(0, 0, 0, 0.1);
    transform: scale(1.05) translateY(-0.25em) perspective(300px) rotateX(20deg) ;
}

dom 中再增加几个菜单项:

<nav>
    <ul>
        <li>Home</li>
        <li>Products</li>
        <li>Services</li>
        <li>Contact</li>
    </ul>
</nav>

最后,调整一下菜单项布局:

nav ul {
    justify-content: space-between;
    flex-direction: column;
}

大功告成!

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

相关文章
|
6月前
|
前端开发
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
|
对象存储
七夕快到了,来创造一副浪漫的鹊桥插画吧
本次通过加载和推理SD模型对象存储OSS Bucket,挂载到PAI-EAS服务,实现模型部署,加载和推理SD模型,制作属于自己的七夕画作。
|
机器学习/深度学习 计算机视觉 网络架构
有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火(1)
有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火
189 0
|
机器学习/深度学习 编解码
有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火(2)
有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火
155 0
|
传感器 开发框架 网络协议
羡慕《钢铁侠》电影里科技感满满的全息手势交互吗?现在你也可以!试试这款【本地手势识别案例】
羡慕《钢铁侠》电影里科技感满满的全息手势交互吗?现在你也可以!试试这款【本地手势识别案例】
205 0
|
存储 JavaScript
拖动水滴给土地浇水(CocosCreator)
拖动水滴给土地浇水(CocosCreator)
拖动水滴给土地浇水(CocosCreator)
|
前端开发
用canvas让美女沉浸在音符的海洋里
用canvas让美女沉浸在音符的海洋里
|
算法 Shell 索引
用粒子动画来忆起你的春节时光 | 支持表情文字
用粒子动画来忆起你的春节时光 | 支持表情文字
141 0
用粒子动画来忆起你的春节时光 | 支持表情文字
|
机器学习/深度学习 人工智能 vr&ar
几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界
几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界
645 0
几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界
|
人工智能 算法 机器人
机器人眼中的光影世界
我们开发程序来进行照片中的人脸识别,或者来统计交通阻塞中的汽车数量,我们将自己眼中的世界强加给电脑,因为我们已经习惯性的他们当成了工具,一个帮助我们更好了解自身世界的工具。
202 0