一款纯css3实现的响应式导航

所属分类: 网页制作 / CSS 阅读数: 1703
收藏 0 赞 0 分享

  之前为大家介绍了好几款响应式导航。今天再给大家带来一款纯css3实现的响应式导航。这款导航还有个响应式的搜索框。废话少说,直接上图:

  实现的代码。

  html代码:


复制代码
代码如下:
<div class="navbar">
<a class="brand" href="#">
<img src="logo.png" /></a>
<!--MOBILE-->
<div class="navbar-mobile hidden-desktop">
<ul class=" nav">
<li class="mobile-dropdown"><i class="icon-reorder"></i>
<div class="mobile-menu">
<div class="menu-wrapper">
<ul class="mobile-nav">
<li><a href="https://www.jb51.net">Home</a></li>
<li class="dropdown"><a href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" class="dropdown-toggle" data-toggle="dropdown">Add
Profile<span class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/twitter/oauth">Twitter</a></li>
<li><a href="/facebook/oauth">Facebook</a></li>
<li><a href="/googleplus/oauth">Google Plus</a></li>
<li><a href="/instagram/oauth">Instagram</a></li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Create<span
class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/createStream">Create Stream</a></li>
<li><a href="/createAlbum">Create Album</a></li>
<li><a href="/createGroup">Create Group</a></li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">View<span
class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/viewStreams">View Streams</a></li>
<li><a href="/viewAlbums">View Albums</a></li>
<li><a href="/viewGroups">View Groups</a></li>
</ul>
</li>
<li class="item"><a href="/schedule">Schedule</a></li>
</ul>
</div>
</div>
</li>
<li class="search">
<form class="navbar-search" _lpchecked="1">
<input type="search" class="search-query typeahead" data-provide="typeahead" placeholder="Search"></form>
<a class="icon-search"></a></li>
<li class="admin mobile-dropdown"><a class="dropdown-toggle" data-toggle="dropdown"
href="#"><i class="icon-user"></i>Mark Campbell <span class="icon-angle-down"></span>
</a>
<div class="mobile-admin">
<div class="admin-wrapper">
<ul class="mobile-nav">
<li><a href="https://www.jb51.net">Profile</a></li>
<li><a href="/createEmail">Create _fcksavedurl=""/createEmail">Create" _fcksavedurl=""/createEmail">Create" _fcksavedurl=""/createEmail">Create" Mass Email</a></li>
<li><a href="/adminDashboard">Admin Dashboard</a></li>
<li><a href="/manageUsers">Manage Users</a></li>
<li><a href="/manageEvents">Manage Streams</a></li>
<li><a href="/manageAlbums">Manage Albums</a></li>
<li><a href="/manageLocations">Manage Locations</a></li>
<li><a href="/manageSchedules">Manage Schedules</a></li>
<li><a href="/manageRoles">Manage Roles</a></li>
<li><a href="/managePermissions">Manage Permissions</a></li>
<li><a href="/managePermissionsRoles">Manage Permissions/Roles</a></li>
<li><a href="/changepassword">Change Password</a></li>
<li><a href="/logout">Log Out</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<!--MOBILE-->
<div class="navbar-inner visible-desktop">
<ul class="nav">
<li><a href="https://www.jb51.net">Home</a></li>
<li class="dropdown"><a href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" class="dropdown-toggle" data-toggle="dropdown">Add
Profile<span class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="https://www.jb51.net">Twitter</a></li>
<li><a href="https://www.jb51.net">Facebook</a></li>
<li><a href="https://www.jb51.net">Google Plus</a></li>
<li><a href="https://www.jb51.net">Instagram</a></li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Create<span
class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/createStream">Create Stream</a></li>
<li><a href="/createAlbum">Create Album</a></li>
<li><a href="/createGroup">Create Group</a></li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">View<span
class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/viewStreams">View Streams</a></li>
<li><a href="/viewAlbums">View Albums</a></li>
<li><a href="/viewGroups">View Groups</a></li>
</ul>
</li>
<li class="item"><a href="/schedule">Schedule</a></li>
<li class="search">
<form class="navbar-search" _lpchecked="1">
<input type="search" class="search-query typeahead" data-provide="typeahead" placeholder="Search"></form>
<a class="icon-search"></a></li>
<li class="admin"><a class="dropdown-toggle" data-toggle="dropdown" href="#"><i class="icon-user">
</i>Mark Campbell <span class="icon-angle-down"></span></a>
<ul class="dropdown-menu">
<li><a href="/myProfile">Profile</a></li>
<li><a href="/createEmail">Create Mass Email</a></li>
<li><a href="/adminDashboard">Admin Dashboard</a></li>
<li><a href="/manageUsers">Manage Users</a></li>
<li><a href="/manageEvents">Manage Streams</a></li>
<li><a href="/manageAlbums">Manage Albums</a></li>
<li><a href="/manageLocations">Manage Locations</a></li>
<li><a href="/manageSchedules">Manage Schedules</a></li>
<li><a href="/manageRoles">Manage Roles</a></li>
<li><a href="/managePermissions">Manage Permissions</a></li>
<li><a href="/managePermissionsRoles">Manage Permissions/Roles</a></li>
<li><a href="/changepassword">Change Password</a></li>
<li><a href="/logout">Log Out</a></li>
</ul>
</li>
</ul>
</div>
</div>
<p>
Work In Progress</p>

  css3代码:


复制代码
代码如下:
.visible-phone
{
display: none !important;
}
.visible-tablet
{
display: none !important;
}
.hidden-desktop
{
display: none !important;
}
.visible-desktop
{
display: inherit !important;
}
@media (min-width: 768px) and (max-width: 979px)
{
.hidden-desktop
{
display: inherit !important;
}
.visible-desktop
{
display: none !important;
}
.navbar
{
overflow: visible;
}
.visible-tablet
{
display: inherit !important;
}
.hidden-tablet
{
display: none !important;
}
}
@media (max-width: 767px)
{
.hidden-desktop
{
display: inherit !important;
}
.visible-desktop
{
display: none !important;
}
.navbar
{
overflow: visible;
}
.visible-phone
{
display: inherit !important;
}
.hidden-phone
{
display: none !important;
}
}
html
{
background: #4e4955;
}
body
{
padding: 0;
margin: 0;
font-family: 'Open Sans' , sans-serif;
font-weight: 300;
font-size: 1em;
}
*, *:after, *::before
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.navbar
{
position: relative;
z-index: 99;
width: 100%;
min-width: 520px;
height: 40px;
max-height: 40px;
background-color: #0b8c8c;
background: -webkit-gradient(linear, left top, left bottom, from(#0b8c8c), to(#0b8787));
background: -webkit-linear-gradient(top, #0b8c8c, #0b8787);
background: -moz-linear-gradient(top, #0b8c8c, #0b8787);
background: -ms-linear-gradient(top, #0b8c8c, #0b8787);
background: -o-linear-gradient(top, #0b8c8c, #0b8787);
border-bottom: 2px solid #0c9595;
-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
}
.brand
{
float: left;
padding: 0;
margin: 0;
padding: 1px 5px;
display: inline-block;
}
.nav
{
padding: 0;
margin: 0;
display: block;
text-align: left;
}
.nav li
{
position: relative;
height: 40px;
color: white;
display: block;
list-style: none;
float: left;
padding: 6px 15px;
}
.nav li a
{
color: white;
text-decoration: none;
}
.nav li:first-child
{
border-left: 1px solid #097474;
}
.nav li:nth-last-child(3)
{
border-right: 1px solid #097474;
}
.nav li:hover, .active-drop
{
background: #0da4a4;
}
.nav li:hover ul.dropdown-menu, .active-drop ul.dropdown-menu
{
padding: 0;
margin: 0;
border: none;
background: #0b8c8c;
position: absolute;
z-index: 98;
top: 40px;
right: 0;
display: block;
width: 250px;
}
.nav li:hover ul.dropdown-menu li, .active-drop ul.dropdown-menu li
{
width: 100%;
line-height: 20px;
border: none;
margin: 0;
}
.nav li.admin
{
float: right;
}
.nav li.search
{
width: 45px;
border-right: 1px solid #097474;
overflow: hidden;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
backface-visibility: hidden;
-webkit-backface-visibility: hidden; /* Chrome and Safari */
-moz-backface-visibility: hidden; /* Firefox */
-ms-backface-visibility: hidden; /* Internet Explorer */
}
.nav li.search:hover, .active-search
{
width: 250px;
}
.navbar-search
{
position: absolute;
top: 5px;
left: 45px;
}
.navbar-search input
{
font-weight: 300;
font-size: 1em;
border: none;
background: #075d5d;
color: white;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
}
.icon-angle-down
{
padding-left: 3px;
}
ul.dropdown-menu
{
display: none;
}
.mobile-dropdown
{
border-right: 1px solid #097474;
}
.mobile-dropdown:hover .mobile-menu
{
-webkit-transform: translate(0px, 0);
-moz-transform: translate(0px, 0);
-ms-transform: translate(0px, 0);
-o-transform: translate(0px, 0);
backface-visibility: hidden;
-webkit-backface-visibility: hidden; /* Chrome and Safari */
-moz-backface-visibility: hidden; /* Firefox */
-ms-backface-visibility: hidden; /* Internet Explorer */
}
.mobile-dropdown:hover .mobile-admin
{
-webkit-transform: translate(0px, 0);
-moz-transform: translate(0px, 0);
-ms-transform: translate(0px, 0);
-o-transform: translate(0px, 0);
backface-visibility: hidden;
-webkit-backface-visibility: hidden; /* Chrome and Safari */
-moz-backface-visibility: hidden; /* Firefox */
-ms-backface-visibility: hidden; /* Internet Explorer */
}
.mobile-admin
{
position: fixed;
top: 40px;
bottom: 0;
right: 0px;
display: block;
width: 280px;
background: #0b8c8c;
overflow: hidden;
-webkit-transform: translate(330px, 0);
-moz-transform: translate(330px, 0);
-ms-transform: translate(330px, 0);
-o-transform: translate(330px, 0);
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
}
.mobile-menu
{
position: fixed;
top: 40px;
bottom: 0;
left: 0px;
display: block;
width: 300px;
background: #0b8c8c;
overflow: hidden;
-webkit-transform: translate(-330px, 0);
-moz-transform: translate(-330px, 0);
-ms-transform: translate(-330px, 0);
-o-transform: translate(-330px, 0);
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
}
.admin-wrapper, .menu-wrapper
{
overflow-y: scroll;
width: 390px;
height: 100%;
}
.mobile-admin ul.mobile-nav, .mobile-menu ul.mobile-nav
{
position: relative;
right: 40px;
top: 0;
font-size: 1.2em;
font-weight: 400;
width: 100%;
border-left: 1px solid #0c9f9f;
}
.mobile-admin ul.mobile-nav li, .mobile-menu ul.mobile-nav li
{
border: none;
padding-bottom: 0px;
border-top: 1px solid #0c9f9f;
width: 100%;
position: relative;
height: 100%;
}
.mobile-menu ul.mobile-nav li:hover
{
background: #0c9595;
}
.mobile-menu ul.mobile-nav li:hover ul.dropdown-menu
{
padding: 0;
margin: 0;
border: none;
background: #0b8c8c;
position: relative;
z-index: 98;
top: 0;
right: 15px;
display: block;
width: 100%;
}
.mobile-menu ul.mobile-nav li:hover ul.dropdown-menu li
{
width: 100%;
line-height: inherit;
border-top: 1px solid #0c9f9f;
margin: 0;
}
.mobile-menu ul.mobile-nav li ul.dropdown-menu
{
display: block;
overflow: hidden;
height: 100%;
padding: 0;
margin: 0;
border: none;
background: #0c9595;
position: relative;
z-index: 98;
top: 0;
right: 15px;
width: 100%;
}
.mobile-menu ul.mobile-nav li ul.dropdown-menu li
{
font-size: .9em;
font-weight: 300;
display: inline-block;
width: 100%;
line-height: inherit;
border-top: 1px solid #0c9f9f;
margin: 0;
}

更多精彩内容其他人还在看

CSS配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多