HTML+CSS实现菜单的3D翻转特效

简介: HTML+CSS实现菜单的3D翻转特效

HTML+CSS实现菜单的3D翻转特效

效果图如下:

HTML部分源代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>翻转特效</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <nav>
        <div class="item">
            <a href="#">
                <p class="cn">首页</p>
                <p class="en">INDEX</p>
            </a>
        </div>
        <div class="item">
            <a href="#">
                <p class="cn">博客</p>
                <p class="en">BLOG</p>
            </a>
        </div>
        <div class="item">
            <a href="#">
                <p class="cn">关于</p>
                <p class="en">ABOUT</p>
            </a>
        </div>
    </nav>
</body>
</html>

CSS部分源代码如下:

:root {
    --background-color: #2c3e50;
    --color1: #7591AD;
    --color2: #9729ad;
    --color3: #db2159;
}
* {
    margin: 0;
    padding: 0;
}
html {
    font-size: 14px;
}
body {
    width: 100vw;
    height: 100vh;
    background-color: var(--background-color);
    display: flex;
    justify-content: center;
    align-items: center;
}
nav {
    width: 680px;
    background-color: var(--color1);
}
.item {
    width: 200px;
    height: 100px;
    margin: 10px;
    float: left;
    perspective: 4000px;
}
.item a {
    display: block;
    height: 100px;
    text-decoration: none;
    color: #fff;
    font-size: 1.5em;
    /* 开启3d */
    transform-style: preserve-3d;
    /* 通过变换角度可以发现刚才的夹角好像一个打开的笔记本电脑 */
    /* transform: rotateX(10deg) rotateY(10deg) translateZ(50px); */
    /* 增加z轴上的位移主要是为了让hover旋转式沿着夹角形成的 */
    /* 虚拟立方体中心轴旋转而不是当前cn元素的这一面的中心 */
    transform: translateZ(50px);
    transition: 0.5s;
}
.item a p {
    height: 100px;
    line-height: 100px;
    text-align: center;
}
.item a p.cn {
    background-color: var(--color2);
}
.item a p.en {
    background-color: var(--color3);
    /* en元素沿顶端x轴逆向旋转90度
    形成于cn元素垂直的夹角,类似于形成一个缺两面的正方体
    */
    transform: rotateX(-90deg);
    transform-origin: top;
}
.item a:hover{
    /* 当鼠标移动到a元素时旋转,沿X轴旋转顺时针90度 */
    /* 因为当前旋转基点在夹角形成的虚拟正方体的中心,所有看起来就像旋转
    立方体的两个面一样 */
    /* 出现偏移问题是因为顺序原因,具体的后续查了下文档发现,变换动作的
    顺序会影响最终呈现的效果 */
    transform: rotateX(90deg) translateZ(50px) ;
}


相关文章
|
29天前
|
前端开发
基于CSS3+Bootstrap实现的侧边栏后台菜单源码
CSS3+Bootstrap实现的侧边栏后台菜单特效源码是一段基于Bootstrap和图标库制作的侧边栏菜单后台管理页面效果代码,简洁大方、易于管理,是一段非常不错的后台菜单栏效果,欢迎对此段代码感兴趣的朋友前来下载。
92 54
|
5天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
40 21
|
13天前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
47 2
|
13天前
|
移动开发 HTML5
HTML5 3D地球仪可按经纬坐标定位特效
这是一个基于HTML5的3D地球仪动画,地球仪不仅可以自动自西向东旋转,而且还可以旋转到指定经纬度坐标。另外,还有一个控制面板,可以控制地球是否自转、光晕是否显示,以及地理缩放。你也可以通过拖拽鼠标来改变地球仪的视角,可以将它移至南北极的视角,也可以移至赤道的视角,非常方便。需要的朋友可下载试试!
27 2
|
23天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
48 7
|
23天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
32 6
|
23天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
35 5
|
23天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
27 5
|
1月前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
58 12
下一篇
DataWorks