之前已经为大家介绍了好多导航菜单。今天为大家再带来一款由css3和jquery实现的卡片折叠式菜单。当菜单关闭的时候,有三维堆叠的效果。我们一起看下效果图:

在线预览   源码下载

html代码:

 <div id="wrapper">
<h1>
<i class="icon-sort-by-attributes"></i>CSS3 <span>Card Deck Drop Down</span></h1>
<div class="card-drop">
<a class="toggle active" href="#"><i class="icon-camera-retro"></i><span class="label-active">
sridhar</span> </a>
<ul>
<li class="" style="z-index: 6; top: 60px; width: 70%; margin-left: 40px;"><a data-label="Everyting"
href="#"><i class="icon-suitcase"></i>Everyting</a> </li>
<li class="" style="z-index: 5; top: 120px; width: 70%; margin-left: 40px;"><a data-label="Design"
href="#"><i class="icon-magic"></i>Design</a> </li>
<li class="" style="z-index: 4; top: 180px; width: 70%; margin-left: 40px;"><a data-label="UI-UX"
href="#"><i class="icon-bolt"></i>UI-UX</a> </li>
<li class="" style="z-index: 3; top: 240px; width: 70%; margin-left: 40px;"><a data-label="Print"
href="#"><i class="icon-tint"></i>Print</a> </li>
<li class="" style="z-index: 2; top: 300px; width: 70%; margin-left: 40px;"><a data-label="Photography"
href="#"><i class="icon-camera-retro"></i>Phtography</a> </li>
<li class="active" style="z-index: 1; top: 360px; width: 70%; margin-left: 40px;"><a
data-label="sridhar" href="#"><i class="icon-camera-retro"></i>sridhar</a> </li>
</ul>
</div>
<br /> <br /> <br />
<script src="/scripts/2bc/_gg_970_90.js" type="text/javascript"></script>
</div>

css3代码:

   html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video
{
margin:;
padding:;
border:;
font: inherit;
font-size: 100%;
vertical-align: baseline;
} ol, ul
{
list-style: none;
}
body
{
background-color: #F2EFE9;
overflow: visible;
padding-top: 40px;
font-family: helvetica, arial, sans-serif;
font-size: 1em;
} *
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
} #wrapper
{
width: 680px;
margin: 0 auto;
height: 1000px;
} h1
{
font-size: 2.5em;
text-align: center;
font-weight: bold;
margin-bottom: 10px;
line-height: 1.4em;
color: #4e6a6a;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
font-family: helvetica, arial, sans-serif;
}
h1 span
{
font-weight: lighter;
} .card-drop
{
max-width: 300px;
position: relative;
margin: 0 auto;
-webkit-perspective: 800px;
-moz-perspective: 800px;
-ms-perspective: 800px;
-o-perspective: 800px;
perspective: 800px;
}
.card-drop a
{
display: block;
width: 100%;
background-color: salmon;
padding: 20px 0 20px 20px;
height: 60px;
text-decoration: none;
color: #1e2929;
background-color: #5f8181;
border-bottom: 1px solid #4e6a6a;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.card-drop a i
{
display: inline-block;
width: 20px;
}
.card-drop > a.toggle
{
position: relative;
z-index:;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform-origin: 50% 0%;
-moz-transform-origin: 50% 0%;
-ms-transform-origin: 50% 0%;
-o-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-transition: 0.1s linear;
-moz-transition: 0.1s linear;
-o-transition: 0.1s linear;
transition: 0.1s linear;
background-color: #729797;
}
.card-drop > a.toggle:active
{
-webkit-transform: rotateX(60deg);
-moz-transform: rotateX(60deg);
-ms-transform: rotateX(60deg);
-o-transform: rotateX(60deg);
transform: rotateX(60deg);
}
.card-drop > a.toggle.active:before
{
content: "\f0d8";
}
.card-drop > a.toggle:before
{
border-left: 1px solid #4E6A6A;
color: #344646;
content: "?";
display: block;
font-family: 'FontAwesome';
font-size: 1.3em;
height: 59px;
line-height: 60px;
position: absolute;
right:;
text-align: center;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
top:;
width: 60px;
}
.card-drop ul
{
position: absolute;
height: 100%;
top:;
display: block;
width: 100%;
}
.card-drop ul li
{
margin: 0 auto;
-webkit-transition: all, 0.3s ease-out;
-moz-transition: all, 0.3s ease-out;
-o-transition: all, 0.3s ease-out;
transition: all, 0.3s ease-out;
position: absolute;
top:;
z-index:;
width: 100%;
}
.card-drop ul li a:hover
{
background-color: #6a9090;
color: #dce5e5;
}
.card-drop ul li.active a
{
color: #95b1b1;
background-color: #547272;
cursor: default;
}
.card-drop ul li.closed a:hover
{
cursor: default;
background-color: #5f8181;
}

js代码:

  $(document).ready(function () {
(function ($) {
//Author: Brady Sammons
//URL: www.bradysammons.com
/* -------------------------------------------------------- */
/* //set Global variables
/* -------------------------------------------------------- */
var cards = $(".card-drop"),
toggler = cards.find(".toggle"),
links = cards.find("ul>li>a"),
li = links.parent('li'),
count = links.length,
width = links.outerWidth(); console.info(count); console.info(width);
console.info(toggler);
console.info(links);
console.info(li);
console.info(cards); //set z-Index of drop Items
links.parent("li").each(function (i) {
$(this).css("z-index", count - i); //invert the index values
}); //set top margins & widths of li elements
function setClosed() {
li.each(function (index) {
$(this).css("top", index * 2) .css("width", width - index * 20)
.css("margin-left", (index * 20) / 2)
.css("margin-left", (index * 20) / 2);
}); li.addClass('closed');
toggler.removeClass("active");
}
setClosed(); /* -------------------------------------------------------- */
/* Toggler Click handler
/* -------------------------------------------------------- */
toggler.on("mousedown", function () {
var $this = $(this); //cache $(this)
//if the menu is active:
console.info(this);
if ($this.is(".active")) {
setClosed();
} else {
//if the menu is un-active:
$this.addClass("active");
li.removeClass('closed');
//set top margins
li.each(function (index) {
$(this).css("top", 60 * (index + 1))
.css("width", "70%")
.css("margin-left", "40px");
});
}
}); /* -------------------------------------------------------- */
/* Links Click handler
/* -------------------------------------------------------- */
links.on("click", function (e) {
var $this = $(this),
label = $this.data("label");
icon = $this.children("i").attr("class"); li.removeClass('active');
if ($this.parent("li").is("active")) {
$this.parent('li').removeClass("active");
} else {
$this.parent("li").addClass("active");
}
toggler.children("span").text(label);
toggler.children("i").removeClass().addClass(icon);
setClosed();
e.preventDefault;
}); })(jQuery);
}); //@ sourceURL=pen.js

注:本文爱编程原创文章,转载请注明原文地址:http://www.w2bc.com/Article/6739

一款由css3和jquery实现的卡面折叠式菜单的更多相关文章

  1. 一款由css3和jquery实现的响应式设计导航

    2014年响应式设计成为设计主流.今天要给大家带来一款由css3和jquery实现的响应式设计导航.当显示器为pc时,导航为横条.当客户端为移动端时,呈现坚形导航.我们一起看下效果图: 在线预览    ...

  2. 一款基于css3和jquery实现的动画弹出层

    今天给大家分享一款基于css3和jquery实现的动画弹出层.这款弹出层初页面面一个显示弹出层按钮.单击该按钮时,弹出层以非常炫的动画形式出现.弹出层有关闭按钮,单击半闭按钮,弹出层关闭.效果图如下: ...

  3. css3和jquery实现的可折叠导航菜单(适合手机网页)

    之前为大家介绍了好几款css3导航,今天为大家在介绍的是一款适合放在手机网页的导航菜单.点击列表图标以下拉式的形式显示菜单,单击关闭,动画关闭.效果相当不错.效果图如下: 在线预览   源码下载 这个 ...

  4. 美轮美奂!9款设计独特的jQuery/CSS3全新应用插件(下拉菜单、动画、图表、导航等)

    今天要为大家分享9款设计非常独特的jQuery/CSS3全新应用插件,插件包含菜单.jQuery焦点图.jQuery表单.jQuery图片特效等.下面大家一起来看看吧. 1.jQuery水晶样式下拉导 ...

  5. 10款最新CSS3/jQuery菜单导航插件

    这是我们在2014年收集的10款最新的CSS3 / jQuery菜单导航插件,不论从外观样式,还是功能扩展性,这些jQuery菜单一定可以满足大家的设计需求.这次我们收集的jQuery菜单,有水平 菜 ...

  6. 8款最新CSS3表单 环形表单很酷

    当我们在网站上注册登录还是提交评论,都需要用到表单,今天我们来分享8款最新CSS3表单,有几个效果很酷很特别,有些也非常实用,一起来看看. 1.CSS3环形特色表单 转圈切换表单焦点 这款CSS3表单 ...

  7. 11款样式新颖的 jQuery/CSS3 网页菜单

    今天为大家准备了11款样式风格挺不错的jQuery/CSS3网页菜单,主要包括面包屑菜单.下拉菜单.Tab菜单等,喜欢的朋友赶紧收藏,一起来看看这些菜单. 1.jQuery / CSS3多功能下拉菜单 ...

  8. 9款风格华丽的jQuery/CSS3插件

    今天向大家分享9款效果相当不错的jQuery/CSS3插件,不多说,直接来看看这些插件吧. 1.jQuery动画下拉菜单Smart Menu 这是一款基于jQuery的动画下拉菜单,子菜单外观比较时尚 ...

  9. 19款绚丽实用的jQuery/CSS3侧边栏菜单

    jQuery作为一款主流的JavaScript前端开发框架,深受广告开发者的亲睐,同时jQuery有着不计其数的插件,特别是菜单插件更为丰富,本文将要为大家介绍20个绚丽而实用的jQuery侧边栏菜单 ...

随机推荐

  1. 将Memcached作为服务自动启动

    1.最简单的做法 通常:启动Memcache的服务器端的命令为: /usr/local/bin/memcached -d -m 256 -u root -l 127.0.0.1 -p 12000 -c ...

  2. Hibernate 、 Axis2发布

    1. you just compile your web-service into aar file (not include bean files), copy the aar into axis2 ...

  3. web development blog(转)

    Top 10 jQuery Mobile Code Snippets that you need to know jQuery Mobile is a framework for mobile web ...

  4. Android音乐播放器开发

    今日看书,看到这个播放器,我就写了个例子,感觉还行,这个播放器能播放后缀是.MP3的音乐,这个例子在main.xml设置listView的时候,注意:android:id="@+id/and ...

  5. RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)[转]

    上篇文章中,我们把每个Message都是deliver(提供)到某个Consumer.在这篇文章中,我们将会将同一个Message deliver(提供)到多个Consumer中.这个模式也被成为 & ...

  6. python学习笔记013——模块

    1 模块module 1.1 模块是什么 模块是包含一系列的变量,函数,类等程序组 模块通常是一个文件,以.py结尾 1.2 模块的作用 1. 让一些相关的函数,变量,类等有逻辑的组织在一起,使逻辑更 ...

  7. OGG_GoldenGate数据迁移三进程Extract / Dump / Relicat(案例)

    2014-03-04 Created By BaoXinjian

  8. Unix环境高级编程(八)进程关系

    本章看后给人似懂非懂的感觉,主要是不知道实际当中如何去使用.通过前面几章的学习,每个进程都有一个父进程,当子进程终止时,父进程得到通知并取得子进程的退出状态.先将本章基本的知识点总结如下,日后再看时候 ...

  9. Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用

    在程序设计中,函数的使用无疑大大简化了代码的编写.提高代码执行的效率.降低反复代码. 所以如今我们来具体研究一下方法. 本样例还是以People类为例. (一)代码一: (1)先在People.h中声 ...

  10. Python 字典 clear()方法

    描述 Python 字典 clear() 方法用于删除字典内所有元素. 语法 clear() 方法语法: D.clear() 参数 无. 返回值 该方法没有任何返回值. 实例 以下实例展示了 clea ...