酷炫的响应式导航栏

* {
    margin: 0;
    padding: 0;
}
html {
    /*background-color: #000;*/
}
.container {
    margin: 30px auto;
    width: 90%;
}
.menu {
    height: 58px;
}

/* general styles */
.menu, .menu ul {
    list-style: none; /*去掉li标签前面的圈圈*/
    padding: 0;
    margin: 0;
}
.menu li {
    /*线性渐变*/
    background: -moz-linear-gradient(#292929, #252525);
    background: -ms-linear-gradient(#292929, #252525);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #252525));
    background: -webkit-linear-gradient(#292929, #252525);
    background: -o-linear-gradient(#292929, #252525);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#292929‘, endColorstr=‘#252525‘);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#292929‘, endColorstr=‘#252525‘)";
    background: linear-gradient(#292929, #252525);

    /*上下边框的颜色等的设置*/
    border-bottom: 2px solid #181818;
    border-top: 2px solid #303030;
    min-width: 160px;
}
.menu > li {
    /*成行显示——浮动*/
    display: block;
    float: left;
    position: relative;
}
.menu > li:first-child {
    border-radius: 5px 0 0;
}
.menu a {
    border-left: 3px solid rgba(0, 0, 0, 0);
    color: #808080;
    display: block;
    font-family: ‘Lucida Console‘;
    font-size: 18px;
    line-height: 54px;
    padding: 0 25px;
    text-decoration: none;  /*去掉a标签下面的横线*/
    text-transform: uppercase;  /*字体大写*/
}
/* 鼠标放上后的样式 */
.menu li:hover {
    background-color: #1c1c1c;
    background: -moz-linear-gradient(#1c1c1c, #1b1b1b);
    background: -ms-linear-gradient(#1c1c1c, #1b1b1b);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1c1c1c), color-stop(100%, #1b1b1b));
    background: -webkit-linear-gradient(#1c1c1c, #1b1b1b);
    background: -o-linear-gradient(#1c1c1c, #1b1b1b);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#1c1c1c‘, endColorstr=‘#1b1b1b‘);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#1c1c1c‘, endColorstr=‘#1b1b1b‘)";
    background: linear-gradient(#1c1c1c, #1b1b1b);

    border-bottom: 2px solid #222222;
    border-top: 2px solid #1B1B1B;
}
.menu li:hover > a {
    border-radius: 5px 0 0 0;
    border-left: 3px solid #C4302B;
    color: #C4302B;
}

/* submenu styles */
/* 初始状态设置 */
.submenu {
    left: 0;
    max-height: 0;
    position: absolute;
    top: 100%;
    z-index: 0;

    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    -ms-perspective: 400px;
    -o-perspective: 400px;
    perspective: 400px;
}
.submenu li {
    opacity: 0;

    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg);
    transform: rotateY(90deg);

    -webkit-transition: opacity .4s, -webkit-transform .5s;
    -moz-transition: opacity .4s, -moz-transform .5s;
    -ms-transition: opacity .4s, -ms-transform .5s;
    -o-transition: opacity .4s, -o-transform .5s;
    transition: opacity .4s, transform .5s;
}
/* 放上后 a标签变成白色 */
.menu .submenu li:hover a {
    border-left: 3px solid #454545;
    border-radius: 0;
    color: #ffffff;
}
.menu > li:hover .submenu, .menu > li:focus .submenu {
    max-height: 2000px;
    z-index: 10;
}
.menu > li:hover .submenu li,
.menu > li:focus .submenu li {
    opacity: 1;

    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

/* CSS3 delays for transition effects */
.menu li:hover .submenu li:nth-child(1) {
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}
.menu li:hover .submenu li:nth-child(2) {
    -webkit-transition-delay: 50ms;
    -moz-transition-delay: 50ms;
    -ms-transition-delay: 50ms;
    -o-transition-delay: 50ms;
    transition-delay: 50ms;
}
.menu li:hover .submenu li:nth-child(3) {
    -webkit-transition-delay: 100ms;
    -moz-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    transition-delay: 100ms;
}
.menu li:hover .submenu li:nth-child(4) {
    -webkit-transition-delay: 150ms;
    -moz-transition-delay: 150ms;
    -ms-transition-delay: 150ms;
    -o-transition-delay: 150ms;
    transition-delay: 150ms;
}
.menu li:hover .submenu li:nth-child(5) {
    -webkit-transition-delay: 200ms;
    -moz-transition-delay: 200ms;
    -ms-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    transition-delay: 200ms;
}
.menu li:hover .submenu li:nth-child(6) {
    -webkit-transition-delay: 250ms;
    -moz-transition-delay: 250ms;
    -ms-transition-delay: 250ms;
    -o-transition-delay: 250ms;
    transition-delay: 250ms;
}
.menu li:hover .submenu li:nth-child(7) {
    -webkit-transition-delay: 300ms;
    -moz-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    transition-delay: 300ms;
}
.menu li:hover .submenu li:nth-child(8) {
    -webkit-transition-delay: 350ms;
    -moz-transition-delay: 350ms;
    -ms-transition-delay: 350ms;
    -o-transition-delay: 350ms;
    transition-delay: 350ms;
}

.submenu li:nth-child(1) {
    -webkit-transition-delay: 350ms;
    -moz-transition-delay: 350ms;
    -ms-transition-delay: 350ms;
    -o-transition-delay: 350ms;
    transition-delay: 350ms;
}
.submenu li:nth-child(2) {
    -webkit-transition-delay: 300ms;
    -moz-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    transition-delay: 300ms;
}
.submenu li:nth-child(3) {
    -webkit-transition-delay: 250ms;
    -moz-transition-delay: 250ms;
    -ms-transition-delay: 250ms;
    -o-transition-delay: 250ms;
    transition-delay: 250ms;
}
.submenu li:nth-child(4) {
    -webkit-transition-delay: 200ms;
    -moz-transition-delay: 200ms;
    -ms-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    transition-delay: 200ms;
}
.submenu li:nth-child(5) {
    -webkit-transition-delay: 150ms;
    -moz-transition-delay: 150ms;
    -ms-transition-delay: 150ms;
    -o-transition-delay: 150ms;
    transition-delay: 150ms;
}
.submenu li:nth-child(6) {
    -webkit-transition-delay: 100ms;
    -moz-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    transition-delay: 100ms;
}
.submenu li:nth-child(7) {
    -webkit-transition-delay: 50ms;
    -moz-transition-delay: 50ms;
    -ms-transition-delay: 50ms;
    -o-transition-delay: 50ms;
    transition-delay: 50ms;
}
.submenu li:nth-child(8) {
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

以上是样式,接下来看对应的html内容:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>xxy so cool</title>
    <link href="css/css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container" id="main" role="main">
    <ul class="menu">
        <li><a href="#">Home</a></li>
        <li><a href="#s1">Menu 1</a>
            <ul class="submenu">
                <li><a href="#">Submenu a</a></li>
                <li><a href="#">Submenu b</a></li>
                <li><a href="#">Submenu c</a></li>
                <li><a href="#">Submenu d</a></li>
                <li><a href="#">Submenu e</a></li>
                <li><a href="#">Submenu f</a></li>
                <li><a href="#">Submenu g</a></li>
                <li><a href="#">Submenu h</a></li>
            </ul>
        </li>
        <li class="active"><a href="#s2">Menu 2</a>
            <ul class="submenu">
                <li><a href="#">Submenu a</a></li>
                <li><a href="#">Submenu b</a></li>
                <li><a href="#">Submenu c</a></li>
                <li><a href="#">Submenu d</a></li>
                <li><a href="#">Submenu e</a></li>
                <li><a href="#">Submenu f</a></li>
                <li><a href="#">Submenu g</a></li>
                <li><a href="#">Submenu h</a></li>
            </ul>
        </li>
        <li><a href="#">Menu 3</a>
            <ul class="submenu">
                <li><a href="#">Submenu a</a></li>
                <li><a href="#">Submenu b</a></li>
                <li><a href="#">Submenu c</a></li>
                <li><a href="#">Submenu d</a></li>
                <li><a href="#">Submenu e</a></li>
                <li><a href="#">Submenu f</a></li>
                <li><a href="#">Submenu g</a></li>
                <li><a href="#">Submenu h</a></li>
            </ul>
        </li>
        <li><a href="#">Menu 4</a></li>
        <li><a href="#">Back to tutorial</a></li>
    </ul>
</div>
</body>
</html>

来源:http://www.cnblogs.com/xinxingyu/p/4794544.html

时间: 2024-10-13 20:13:59

酷炫的响应式导航栏的相关文章

Bootstrap历练实例:响应式导航栏

响应式的导航栏 为了给导航栏添加响应式特性,您要折叠的内容必须包裹在带有 classes .collapse..navbar-collapse 的 <div> 中.折叠起来的导航栏实际上是一个带有 class .navbar-toggle 及两个 data- 元素的按钮.第一个是 data-toggle,用于告诉 JavaScript 需要对按钮做什么,第二个是 data-target,指示要切换到哪一个元素.三个带有 class .icon-bar 的 <span> 创建所谓的汉

【翻译】移动端友好的响应式导航栏教程

以下是译文: 今天我来教大家设计一个色彩绚丽且移动端友好的响应式导航栏.这个导航栏的灵感源自一款叫做"无主之地(Borderlands)"游戏中的一个叫做Maliwan武器生产商商标所采用的颜色集.导航栏会自动根据浏览器窗口的大小调整布局格式:在PC宽度下呈现为一行按钮,在平板宽度下呈现为三行按钮,而在移动端则变成了一个菜单栏按钮连接,点击可以显示和隐藏整个导航栏.为了使这个导航栏做到真正地移动端友好,我们将采用图标字体来作为导航栏图表,这样的话,当界面放大缩小的时候,图标也会自动调整

bootstrap响应式导航栏

参见:http://www.w3cschool.cc/bootstrap/bootstrap-navbar.html 为了给导航栏添加响应式特性,您要折叠的内容必须包裹在带有 classes .collapse..navbar-collapse 的 <div> 中.折叠起来的导航栏实际上是一个带有 class .navbar-toggle 及两个 data- 元素的按钮.第一个是 data-toggle,用于告诉 JavaScript 需要对按钮做什么,第二个是 data-target,指示要

酷炫的响应式布局

在css文件中可以添加筛选条件,告诉css在何种条件下用何种css代码,这可以用来实现响应式布局. 实现途径有两种,一种是通过控制引入的css文件来实现: <link type="text/css" rel="stylesheet" href="a.css" media="screen and (min-width:400px)" /> media是条件筛选语句,screen表示媒体类型,and表示并且,min-w

BootStrap实现简单响应式导航菜单

用BootStrap实现响应式导航栏,我会对其中的一些样式进行说明.   先上代码,是一个很简单的Demo. <!doctype html> <html> <head> <head> <meta charset = "utf-8"/> <meta name = "viewport" content = "width-device=width,initial = 1.0"/>

CSS06-响应式导航栏实验

把菜鸟里响应式导航栏和下拉菜单的示例加在了一起,但是没有出现预期的效果,出现的问题有两个:1.设置两个媒体查询时,只有一个生效,和代码顺序无关,而且单个测试时都能生效.2.水平导航栏添加的下拉菜单会出现溢出,如果将overflow设置为hidden下拉菜单不会显示.代码如下: Nav02.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g

15款帮助你实现响应式导航的 jQuery 插件

对于我们大多数人来说,建立一个负责任的布局中最困难的方面是规划和导航的实现.由于没有真正经得起考验的通用解决方案,您可以使用的菜单设计风格将取决于正在建设的网站类型. 无论你正在建设什么类型的网站,在这篇文章中我们将向推荐一批制作响应式导航的 jQuery 插件,为您提供方便快速的解决方案. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQue

iOS开发笔记13:顶部标签式导航栏及下拉分类菜单

当内容及分类较多时,往往采用顶部标签式导航栏,例如网易新闻客户端的顶部分类导航,最近刚好有这样的应用场景,参考网络上一些demo,实现了这种导航效果,记录一些要点. 效果图(由于视频转GIF掉帧,滑动和下拉动画显得比较生硬,刚发现quickTime可以直接录制手机视频,推荐一下,很方便) 1.顶部标签式导航栏 (1)实现思路 其实就是在上下两个UIScrollView上做文章,实现联动选择切换的效果. ①顶部标签导航栏topCategoryListScrollView加载显示分类数据,下方con

Bootstrap组件之响应式导航条

响应式导航条:在PC和平板中默认要显示所有的内容:但在手机中导航条中默认只显示“LOGO/Brand”,以及一个“菜单折叠展开按钮”,只有单击折叠按钮后才显示所有的菜单项. 基础class: .navbar 1.Bootstrap中导航条的按位置: 1)顶部导航条 2)底部导航条  Bootstrap中导航条的按颜色: 1)浅色底深色的字 .navbar-default 2)深色底浅色的字 .navbar-inverse Bootstrap中导航条的按定位: 1)相对定位position: re