`

纯CSS实现的HTML5响应式导航栏

阅读更多

      目前响应试web页面已经逐渐开始盛行,除了将页面的内容以及布局结构实现响应试以外,剩下的重点就是实现导航栏的响应试,当然方法有很多,不过最 近我发现了一个新的无需使用Javascript就能轻松实现响应试导航栏的技术,它采用的是简洁的html5标签结构来实现的应式导航栏,导航栏能够被 轻松的控制在左侧,中部,已经右侧。当鼠标经过导航栏时就会平滑拉菜单,不仅如此该响应式导航栏在手机屏幕和ie浏览器中也同样能够正常运行。

 

 

这篇文章的目的是让大家能够知道 如何将普通的导航栏转变成小型的可伸缩的下拉菜单。

 

 

这种技术非常适合用于多栏目导航栏,如下图所示你可以将所有的导航栏目精简成一个优雅的菜单按钮。

 

 

HTML5导航标签结构

 

 

如果想使用纯css实现该效果,首先应该使用 <nav> 标签,它是创建css下拉框所必须使用的结构,用.current类标记出当前的菜单栏目。

 

<nav class="nav">
<ul>
    <li class="current"><a href="#">Portfolio</a></li>
    <li><a href="#">Illustration</a></li>
    <li><a href="#">Web Design</a></li>
    <li><a href="#">Print Media</a></li>
    <li><a href="#">Graphic Design</a></li>
</ul>
</nav>

 

CSS属性

 

      首先以下所使用的css属性跟我们平常见到的方法没什么区别,细节就不多说了,但是我们注意到 nav ui li元素中使用了display:inline-block;这个属性替代了原先常用的float:left属性,这就是不同的地方。


     使用display:inline-block这个方法后,我们就可以随意的调整转换后菜单按钮的位置了,如果要改变按钮位置只需在 nav ul 元素中添加 text-align:left; text-align:center; 或者 text-align:right; 即可。

 

/* right nav */
.nav.right ul {
    text-align: right;
}
 
/* center nav */
.nav.center ul {
    text-align: center;
}

 

提供老版本ie浏览器的支持


      我们都知道IE8已经之前的版本对html5中的<nav>标签和media query方法是无法提供支持的,所以我们在使用前应该先先加上css3-mediaqueries.js(或者respond.js)和 html5shim.js两个脚本,来提供相应的回退支持。

 

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/files/css3-mediaqueries.js"></script>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

 

      最后再加上media query检测方法来对屏幕宽度进行识别,这里设置了以600px的宽度为断点,意味着当浏览器或者屏幕宽度小于600px像素时就将使用一下css属性。

     

      

@media screen and (max-width: 600px) {
    .nav {
        position: relative;
        min-height: 40px;
    }  
    .nav ul {
        width: 180px;
        padding: 5px 0;
        position: absolute;
        top: 0;
        left: 0;
        border: solid 1px #aaa;
        background: #fff url(images/icon-menu.png) no-repeat 10px 11px;
        border-radius: 5px;
        box-shadow: 0 1px 2px rgba(0,0,0,.3);
    }
    .nav li {
        display: none; /* hide all <li> items */
        margin: 0;
    }
    .nav .current {
        display: block; /* show only current <li> item */
    }
    .nav a {
        display: block;
        padding: 5px 5px 5px 32px;
        text-align: left;
    }
    .nav .current a {
        background: none;
        color: #666;
    }
 
    /* on nav hover */
    .nav ul:hover {
        background-image: none;
    }
    .nav ul:hover li {
        display: block;
        margin: 0 0 5px;
    }
    .nav ul:hover .current {
        background: url(images/icon-check.png) no-repeat 10px 7px;
    }
 
    /* right nav */
    .nav.right ul {
        left: auto;
        right: 0;
    }
 
    /* center nav */
    .nav.center ul {
        left: 50%;
        margin-left: -90px;
    }
     
}

 

   纯CSS实现的HTML5响应式导航栏的demo演示

 

   下载地址

 

 

 

 

分享到:
评论

相关推荐

    css3响应式导航

    在实际项目中,创建一个【纯CSS3响应式导航栏】通常会涉及HTML结构的规划、CSS样式的编写以及可能的JavaScript交互。以下是一个简单的HTML结构示例: ```html ☰ &lt;li&gt;&lt;a href="#"&gt;首页&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=...

    通过css实现一个响应式导航栏,在屏幕较小时折叠成汉堡菜单

    压缩包文件代码介绍一个常见的功能——创建一个响应式的导航栏(Navbar),它会在屏幕较小时折叠成一个汉堡菜单(Hamburger Menu)。 在这个例子中,我们创建了一个基本的导航栏,其中包含品牌名称、一个汉堡菜单...

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

    在这个纯CSS3响应式导航中,我们可以看到HTML结构包含了一些关键元素,如导航栏(.navbar)、品牌链接(.brand)、移动导航(.navbar-mobile)、下拉菜单(.dropdown)和搜索框(.search)等。这些元素通过CSS3的类...

    创建响应式导航栏:HTML、CSS与JS的协同应用.rar

    本文深入探讨了使用HTML、CSS和JavaScript创建响应式导航栏的步骤和方法,希望能够帮助读者更好地理解网页导航栏的设计和实现。随着网页设计趋势的不断发展,掌握响应式设计和交互性增强技术变得越来越重要。

    html+css侧边抽屉式导航栏

    以下将详细讲解如何使用HTML和CSS创建一个侧边抽屉式导航栏。 首先,我们需要构建HTML结构。一个简单的侧边抽屉导航栏可能包括一个包含导航链接的`&lt;nav&gt;`元素,以及一个触发导航栏显示/隐藏的按钮。示例如下: ```...

    html5响应式全屏侧滑导航栏代码

    在压缩包“texiao3463_1560681124”中,可能包含了实现这种全屏侧滑导航栏的HTML文件、CSS文件和JavaScript文件,通过查看和学习这些文件,你可以更深入地理解响应式设计和交互实现的细节。实际操作时,可以将这些...

    HTML5响应式导航 HTML5响应式导航代码下载.zip

    通过下载并研究这些文件,开发者可以学习到如何创建一个实用且美观的HTML5响应式导航,同时也能理解如何将HTML5、CSS3、JavaScript和jQuery结合在一起,以适应多设备环境的需求。这种技能对于任何想要从事前端开发...

    html+jquery+CSS实现最简单的右侧导航栏效果

    本教程将详细讲解如何使用HTML、CSS和jQuery来实现一个最简单的右侧导航栏效果。这个导航栏将具有响应式设计,能在不同设备上良好展示,并能通过点击事件动态显示和隐藏。 首先,我们从HTML结构开始。一个基础的...

    html5纯css实现导航栏特效

    在这个主题中,我们将深入探讨如何使用HTML5和纯CSS来实现一个具有特效的导航栏,无需依赖JavaScript。 首先,HTML5提供了新的语义化标签,如,它专为创建导航结构而设计。在创建导航栏时,我们可以使用标签包裹...

    html5 css3响应式布局介绍及设计流程 实现响应式布局的3种手段.zip_html5响应式布局怎么写

    本篇文章将深入探讨HTML5 CSS3响应式布局的概念、设计流程以及实现响应式布局的三种主要手段。 响应式布局的核心理念在于“一处设计,四处适用”,它允许网页根据访问设备的屏幕大小和方向自动调整布局、内容和样式...

    html+css侧边伸缩导航栏

    我们可以使用媒体查询(media queries)来实现响应式设计,确保导航栏在不同屏幕尺寸下都能正常工作。以下是一个基本的 CSS 示例: ```css .sidenav { width: 200px; /* 初始宽度 */ background-color: #333; ...

    Bootstrap响应式导航栏文章中相关js和css

    总的来说,Bootstrap响应式导航栏的实现涉及到HTML、CSS和JavaScript的协同工作,通过理解并运用Bootstrap的栅格系统、CSS类和JavaScript插件,我们可以轻松创建出适应各种设备的导航栏,提升网站的用户体验。

    纯CSS实现横向三级菜单导航栏

    本教程将详述如何使用纯CSS技术实现一个横向的三级联动菜单导航栏。这个功能对于那些需要展示多级分类信息的网站尤其有用,例如电商网站的产品分类、知识库的层级结构等。 首先,我们需要创建HTML结构来表示导航栏...

    响应式Web设计HTML5和CSS3实战第2版_html_

    这些项目可能涉及创建响应式导航栏、图像轮播、自适应表格等常见元素,以确保开发者能够将所学应用于真实世界的场景。 总之,"响应式Web设计HTML5和CSS3实战第2版"是一本全面的指南,涵盖了现代Web开发的关键技术。...

    响应式网上商店CSS3模板是一款基于CSS3+HTML5实现的响应式电子商务网站模板下载 .rar

    2. "响应式网上商店CSS3模板是一款基于CSS3+HTML5实现的响应式电子商务网站模板下载。":这个文件名可能是HTML模板的主文件,包含了整个网站结构和内容,以及与CSS3和HTML5相关的代码。 总的来说,响应式网上商店...

    打造灵活的网络体验:HTML响应式导航栏的设计与实现

    本文将详细介绍如何在HTML中创建一个响应式导航栏,包括基本的HTML结构、CSS样式和一些JavaScript来增强交互性。 响应式导航栏是现代网站设计的关键组成部分,它能够提供跨设备的一致用户体验。通过结合HTML、CSS和...

    CSS3响应式多级下拉菜单导航代码

    "CSS3响应式多级下拉菜单导航代码"是一个专为现代网页设计打造的解决方案,它结合了扁平化设计风格、字体图标以及对移动设备的良好适应性,确保在不同屏幕尺寸下的良好可读性和易用性。 首先,CSS3(层叠样式表第三...

    html5响应式导航条全屏下拉搜索框特效

    综上所述,"html5响应式导航条全屏下拉搜索框特效"涵盖了HTML5的新特性、响应式设计、CSS3动画、JavaScript交互等多个方面,是现代网页开发中提升用户体验的重要手段。通过熟练掌握这些技术,开发者可以创建出更具...

    jQuery响应式导航菜单.zip

    "jQuery响应式导航菜单"是一个专为实现这一目的而设计的解决方案。这个项目使用了两个核心JavaScript库:jQuery 1.8.3和pgwmenu.min.js,它们共同创建了一种动态、适应性强的菜单系统,尤其适用于现代网页设计,特别...

    纯css实现动态效果导航条

    本项目聚焦于“纯CSS实现动态效果导航条”,通过CSS(Cascading Style Sheets)技术,无需JavaScript或其他编程语言,即可创建功能丰富的交互式导航栏。下面将详细解析如何使用CSS实现这一目标,并探讨相关的HTML...

Global site tag (gtag.js) - Google Analytics