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);
}
时间: 2024-09-13 00:20:38

css3之3d导航的相关文章

jQuery+CSS3实现3D立方体旋转效果_jquery

本文介绍了如何利用jQuery+CSS3实现3D立方体旋转效果,先看一看效果图: 切换图片过程中,图片进行旋转: HTML结构 3D图片画廊的图片列表和导航按钮分别使用两个无序列表来制作. <section> <div id="css3dimageslider" class="transparency"> <ul> <li> <img src="img/css3dimg1.jpg"> &

《响应式Web设计:HTML5和CSS3实践指南》——2.7节使用CSS3制作3D文本

2.7 使用CSS3制作3D文本在前几节中,我们使用画布元素创建了投影.斜面以及内侧阴影.使用CSS3可以让文本真的站起来.使用CSS3的text-shadow属性,可以让文本看起来好像伸出屏幕来面对用户. 2.7.1 准备工作如果你想直接跳过本节,你可以从Packt Publishing的网站上下载代码.否则,如果你想边学边做,那就一起来创建属于你自己的3D文本吧.下面将通过组合多个CSS3的阴影效果来实现3D特效. 2.7.2 实现方式在IDE中,创建一个在body元素中只有一个header

7 款非常有创意的 CSS3/jQuery 按钮导航

1.一组基于jQuery和CSS3的社会化分享按钮 这是一组简单美观的社会化分享按钮,包括twitter.facebook.g+等常用分享,拥有长方形和正方形两种规格选择. 在线演示 / 源码下载 2.灰色超具立体感的CSS3导航按钮 提供了水平和竖直的立体导航按钮,挺酷的. 在线演示 / 源码下载 3.超友爱的CSS3卡通按钮 一组很可爱的卡通按钮,非常有创意. 在线演示 / 源码下载 4.绚丽的CSS3发光按钮 五光十色的发光按钮,让你眼花缭乱,不过从里面拿几个出来看真的很棒. 在线演示 /

css3 文字效果: 如何利用CSS3制作3D文字效果

下面这篇教程是教你如何用CSS3来制作3D效果的文字,文章翻译自3D CSS Shadow Text Tutorial.这个简单的CSS文本阴影教程将一步步教你如何通过堆叠多层阴影来创建3D文字,然后进一步利用CSS3的transform和transition属性来实现鼠标移过字体放大的效果.请注意,这个3D文字效果是用纯CSS的,没有用Javascript,并且需要用支持CSS3的浏览器才能看出效果,如firefox.chrome.safari和opera.CSS文字阴影是如何实现的为了实现3

如何利用CSS3制作3D文字效果

下面这篇教程是教你如何用CSS3来制作3D效果的文字,文章翻译自3D CSS Shadow Text Tutorial. 这个简单的CSS文本阴影教程将一步步教你如何通过堆叠多层阴影来创建3D文字,然后进一步利用CSS3的transform和transition属性来实现鼠标移过字体放大的效果.请注意,这个3D文字效果是用纯CSS的,没有用Javascript,并且需要用支持CSS3的浏览器才能看出效果,如firefox.chrome.safari和opera. CSS文字阴影是如何实现的 为了

jquery+CSS3实现3D拖拽相册效果_jquery

很久之前练习过的一个实践,复习完渐变.圆角.3D变形.拖拽等等来看源码,估计还不会太凌乱(◎﹏◎)哈哈哈 效果图: HTML: <!doctype html> <html onselectstart="return false;" lang="en"><!-- !important --> <head> <meta charset="UTF-8"> <title>3D拖拽相册

CSS3面包屑导航和多步骤向导效果

面包屑是用来做当前页面所在的站点位置的导航作用,它一层层的表示站点分类或目录层级关系,而多步骤指示经常用在一些分步流程向导的应用,如分步注册向导,货物订购流程.今天我们来用CSS制作面包屑和多步骤指示的应用.   HTML结构非常简单,一个有序列表ol,外面又<nav>包裹. 面包屑导航条的结构,我们给ol加上class样式为:.cd-breadcrumb,那么当前位置的层级li加上class样式为:.current. <nav>     <ol class="cd

纯CSS3水平动态导航菜单例子

CSS Menu Demo Home Products Services About Contact 适用浏览器:FireFox.Chrome.Safari.Opera.傲游.搜狗. 不支持IE8.360.

jQuery+CSS3实现四种应用广泛的导航条制作实例详解_jquery

导航条的使用很广,每个网站都会做出具有自己特色的导航条.最近特地去了解了各种类型的导航条,比如具有高亮显示的导航条,中英文互相切换的导航条,具有弹性动画的导航条,甚至是具有摩擦运动动画的导航条(文字下面有横线)等.每种导航条都有自己的特色,比如高亮显示的导航条看起来比较简单,但是视觉效果还不错,具有动画效果的导航条在视觉上也是有很好的效果. 接下来将会一一介绍4种应用比较广的导航条,即:高亮显示的导航条,中英文互相切换的导航条,具有弹性动画的导航条,具有摩擦运动动画的导航条. 1.高亮显示的导航