css3之3d导航

简介: css3之3d导航

css3的新属性非常不错,目前IE除外其他浏览器都已支持

实现原理:比如元素a在hover时候可以改变元素b的状态。

效果如本农导航,欢迎采用和建议~

a:hover b{ 

  执行简单动画效果

}

HTML

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>3D-navBar</title>
    <link rel="stylesheet" href="css/3dnavBar.css">
</head>
<body>
<header>
    <ul class="block-menu" id="F1">
        <li>
            <a href="javascript:;" class="three-d">Home
                <span class="three-d-box">
                    <span class="front">Home</span>
                    <span class="back">Home</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">Html
                <span class="three-d-box">
                    <span class="front">Html</span>
                    <span class="back">Html</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">CSS
                <span class="three-d-box">
                    <span class="front">CSS</span>
                    <span class="back">CSS</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">Javascript
                <span class="three-d-box">
                    <span class="front">Javascript</span>
                    <span class="back">Javascript</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">jQuery
                <span class="three-d-box">
                    <span class="front">jQuery</span>
                    <span class="back">jQuery</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">ajax
                <span class="three-d-box">
                    <span class="front">ajax</span>
                    <span class="back">ajax</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">php
                <span class="three-d-box">
                    <span class="front">php</span>
                    <span class="back">php</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">bootstrap
                <span class="three-d-box">
                    <span class="front">bootstrap</span>
                    <span class="back">bootstrap</span>
                </span>
            </a>
        </li>
        <li>
            <a href="javascript:;" class="three-d">angular
                <span class="three-d-box">
                    <span class="front">angular</span>
                    <span class="back">angular</span>
                </span>
            </a>
        </li>
    </ul>
</header>
</body>
</html>
复制代码

CSS

复制代码
*{
    list-style: none;
    margin: 0;
    padding: 0;
}
.block-menu{
    background:#AA7A53;
    height:50px;
    overflow:hidden;
    padding-left:40px;
}
.block-menu li{
    float: left;
    margin-left: 15px;
}
.block-menu li a{
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:16px;
    line-height:20px;
    font-weight:bold;
    font-family: Arial, sans-serif;
    display:block;
    padding:15px 10px;
}
.three-d-box,.front,.back{
    width: 100%;
    display: block;
    height:50px;
    position:absolute;
    top:0;
    left:0;
    text-align: center;
    line-height: 50px;
    background:#AA7A53;
}
.three-d{
    perspective:200px;
    position:relative;
}
.three-d-box{
    -webkit-transform-style:preserve-3d;
    transform-style:preserve-3d;
    -webkit-transform:translateZ(-25px);
    -moz-transform:translateZ(-25px);
    -o-transform:translateZ(-25px);
    -ms-transform:translateZ(-25px);
    transform:translateZ(-25px);
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
.front{
    -webkit-transform:rotateX(0deg) translateZ(25px);
    -moz-transform:rotateX(0deg) translateZ(25px);
    -o-transform:rotateX(0deg) translateZ(25px);
    -ms-transform:rotateX(0deg) translateZ(25px);
    transform:rotateX(0deg) translateZ(25px);
}
.back{
    -webkit-transform:rotateX(-90deg) translateZ(25px);
    -moz-transform:rotateX(-90deg) translateZ(25px);
    -o-transform:rotateX(-90deg) translateZ(25px);
    -ms-transform:rotateX(-90deg) translateZ(25px);
    transform:rotateX(-90deg) translateZ(25px);
}
.three-d:hover .three-d-box{
    -webkit-transform: translateZ(-25px) rotateX(90deg);
    -moz-transform: translateZ(-25px) rotateX(90deg);
    -o-transform: translateZ(-25px) rotateX(90deg);
    -ms-transform: translateZ(-25px) rotateX(90deg);
    transform: translateZ(-25px) rotateX(90deg);
}
目录
相关文章
|
2月前
CSS3自动旋转正方体3D特效
CSS3自动旋转正方体3D特效
26 3
CSS3自动旋转正方体3D特效
|
10天前
导航hmtl+css
导航hmtl+css
6 2
|
2月前
|
前端开发
纯css实现的3D立体鸡蛋动画视觉效果
纯css实现的3D立体鸡蛋动画视觉效果
32 6
纯css实现的3D立体鸡蛋动画视觉效果
|
3月前
|
UED
css3 2D与3D转换
css3 2D与3D转换
33 0
|
9月前
|
前端开发 测试技术 容器
【CSS】如何给自己头像打造3D动态悬浮效果?(慎入!有点难)
有设想过,当你鼠标移入头像时,展现出从圆圈或洞中探出的那种效果吗?我有类似的想法,但采用了不同的方式并添加了一些动画。我感觉非常实用,并且可以产生简洁的悬停效果,可以在您自己的头像之类的东西上使用。
【CSS】如何给自己头像打造3D动态悬浮效果?(慎入!有点难)
|
5月前
HTML+CSS制作3D旋转相册
HTML+CSS制作3D旋转相册
|
5月前
|
前端开发
HTML+CSS制作3D步数统计界面
HTML+CSS制作3D步数统计界面
|
5月前
|
前端开发
HTML+CSS实现菜单的3D翻转特效
HTML+CSS实现菜单的3D翻转特效
|
6月前
|
前端开发 UED
css中转换有哪些(2D、3D效果)?
css中转换有哪些(2D、3D效果)?
50 0
|
9月前
|
前端开发
css 实现电梯导航
css 实现电梯导航
69 0