广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何使用CSS3制作响应式导航菜单
  • 688
分享到

如何使用CSS3制作响应式导航菜单

2024-04-02 19:04:59 688人浏览 八月长安
摘要

这篇文章主要介绍“如何使用css3制作响应式导航菜单”,在日常操作中,相信很多人在如何使用CSS3制作响应式导航菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用CS

这篇文章主要介绍“如何使用css3制作响应式导航菜单”,在日常操作中,相信很多人在如何使用CSS3制作响应式导航菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用CSS3制作响应式导航菜单”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

关于使用响应式设计来创建一个手机导航栏,之前我曾经写过一个教程。现在我发现了一种新的方式,可以不使用javascript来实现响应式菜单。它完全使用整洁和语义化的HTML5标记,而且菜单可以居左、居中和居右对齐。不像前面一个教程中需要点击来展开,这个菜单可以在hover时展开,对用户更为友好。它也包含一个指示器来显示当前激活的菜单项。这种方式可以工作于所有的移动和桌面浏览器中,甚至包括IE。

演示

目标

  这个教程的目标是向你展示如何把一个传统的列表菜单在更小的屏幕上转换为可伸展的菜单。
如何使用CSS3制作响应式导航菜单

这种方式对于下图这种有很多链接的导航来说非常有用。你可以把所有的按钮转换为一个优雅的伸展条。
如何使用CSS3制作响应式导航菜单

HTML代码

下面是导航的html代码。<nav>标签用于创建伸展条,包含绝对定位的css属性。我会在稍后解释这一点,current类表示当前激活的菜单链接。

CSS Code复制内容到剪贴板

  1. <nav class="nav">   

  2.  <ul>   

  3.   <li class="current"><a href="#">Portfolio</a></li>   

  4.   <li><a href="#">Illustration</a></li>   

  5.   <li><a href="#">WEB Design</a></li>   

  6.   <li><a href="#">Print Media</a></li>   

  7.   <li><a href="#">Graphic Design</a></li>   

  8.  </ul>   

  9. </nav>  

  CSS

  导航的CSS样式(桌面视图)非常简单,所以我不打算介绍细节。请注意我为导航的<li>元素指定了display:inline-block来取代float:left。这样我们可以通过为<ul>元素设定text-align属性来控制菜单按钮居左、居中或者居右对齐。

CSS Code复制内容到剪贴板

  1.   

  2. .nav {   

  3.     position: relative;   

  4.     margin: 20px 0;   

  5. }   

  6. .nav ul {   

  7.     margin: 0;   

  8.     padding: 0;   

  9. }   

  10. .nav li {   

  11.     margin: 0 5px 10px 0;   

  12.     padding: 0;   

  13.     list-style: none;   

  14.     display: inline-block;   

  15. }   

  16. .nav a {   

  17.     padding: 3px 12px;   

  18.     text-decoration: none;   

  19.     color: #999;   

  20.     line-height: 100%;   

  21. }   

  22. .nav a:hover {   

  23.     color: #000;   

  24. }   

  25. .nav .current a {   

  26.     background: #999;   

  27.     color: #fff;   

  28.     border-radius: 5px;   

  29. }  

  居中与居右对齐

  像上面所提到的一样,你可以使用text-align属性更改按钮的对其方式。

CSS Code复制内容到剪贴板

  1.   

  2. .nav.rightright ul {   

  3.     text-align: rightright;   

  4. }   

  5.     

  6.   

  7. .nav.center ul {   

  8.     text-align: center;   

  9. }  

         IE支持

         IE8或更早的版本不支持HTML5的<nav>标签和媒介查询(MediaQuery)。我们需要引用css3-mediaqueries.js(或者respond.js)和html5shim.js来提供支持。如果你不打算使用html5shim.js,可以把<nav>标签用<div>代替。

XML/HTML Code复制内容到剪贴板

  1. <!--[if lt IE 9]>  

  2.     <script src="Http://css3-mediaqueries-js.Googlecode.com/files/css3-mediaqueries.js"></script>  

  3.     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>  

  4. <![endif]-->  

  响应式设计

  现在是最有意思的部分-使用媒介查询创建响应式菜单。如果你对响应式设计不了解,可以看看我之前关于响应式设计和媒介查询的文章。

  在600像素的节点上,我将导航元素设置为相对定位,所以我能把顶部的<ul>菜单列表样式替换为绝对定位。通过设定display:none我隐藏所有的<li>元素,但是保留了当前激活的<li>项。然后当鼠标hover在导航栏上时,我将所有的<li>元素设置为display:block(这会产生伸展列表)。我添加了一个勾选图标在当前栏目上来展示激活状态。对于居中和居右对齐的菜单,使用position的left和right属性来定位<ul>列表。可以根据演示来查看最终结果。

CSS Code复制内容到剪贴板

  1. @media screen and(max-width: 600px) {   

  2.     .nav {   

  3.        position: relative;   

  4.        min-height: 40px;   

  5.     }     

  6.     .nav ul {   

  7.        width: 180px;   

  8.        padding: 5px 0;   

  9.        position: absolute;   

  10.        top: 0;   

  11.        left: 0;   

  12.        border: solid 1px #aaa;   

  13.        background: #fff url(images/icon-menu.png) no-repeat 10px11px;   

  14.        border-radius: 5px;   

  15.        box-shadow: 0 1px 2px rgba(0,0,0,.3);   

  16.     }   

  17.     .nav li {   

  18.        display: none;   

  19.        margin: 0;   

  20.     }   

  21.     .nav .current {   

  22.        display: block;   

  23.     }   

  24.     .nav a {   

  25.        display: block;   

  26.        padding: 5px 5px 5px 32px;   

  27.        text-align: left;   

  28.     }   

  29.     .nav .current a {   

  30.        background: none;   

  31.        color: #666;   

  32.     }   

  33.     

  34.       

  35.     .nav ul:hover {   

  36.        background-image: none;   

  37.     }   

  38.     .nav ul:hover li {   

  39.        display: block;   

  40.        margin: 0 0 5px;   

  41.     }   

  42.     .nav ul:hover .current {   

  43.        background: url(images/icon-check.png) no-repeat 10px 7px;   

  44.     }   

  45.     

  46.       

  47.     .nav.rightright ul {   

  48.        left: auto;   

  49.        rightright: 0;   

  50.     }   

  51.     

  52.       

  53.     .nav.center ul {   

  54.        left: 50%;   

  55.        margin-left: -90px;   

  56.     }   

  57.       

  58. }  

到此,关于“如何使用CSS3制作响应式导航菜单”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何使用CSS3制作响应式导航菜单

本文链接: https://www.lsjlt.com/news/76703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用CSS3制作响应式导航菜单
    这篇文章主要介绍“如何使用CSS3制作响应式导航菜单”,在日常操作中,相信很多人在如何使用CSS3制作响应式导航菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用CS...
    99+
    2022-10-19
  • css3与html5实现响应式导航菜单效果
    本篇内容介绍了“css3与html5实现响应式导航菜单效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!此...
    99+
    2022-10-19
  • 如何使用CSS3制作立体效果导航菜单
    这篇文章给大家分享的是有关如何使用CSS3制作立体效果导航菜单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 先给大家展示效果图,效果如下: 编程网...
    99+
    2022-10-19
  • 用jquery和css3实现的响应式二级导航菜单
    本篇内容介绍了“用jquery和css3实现的响应式二级导航菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-19
  • 制作响应式导航菜单:CSS属性的实用技巧
    在现代网页设计中,响应式设计已经变得十分重要,因为它能够使网站在不同大小的屏幕上都能够正确地显示。在响应式设计中,导航菜单是至关重要的一个部分。本文将介绍制作响应式导航菜单的CSS属性的实用技巧,并提供具体的代码示例,希望对你的网站设计有所...
    99+
    2023-11-18
    响应式 导航 CSS属性
  • 如何使用jquery实现HTML5响应式导航菜单
    这篇文章将为大家详细讲解有关如何使用jquery实现HTML5响应式导航菜单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通过jquery+...
    99+
    2022-10-19
  • 使用CSS3怎么制作一个二级导航菜单
    这篇文章给大家介绍使用CSS3怎么制作一个二级导航菜单,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 结构一般导航的主体我们主要是使用ul li标签<body>   &nbs...
    99+
    2023-06-08
  • 利用CSS实现响应式导航菜单
    利用CSS实现响应式导航菜单随着移动设备的普及,越来越多的网站需要适应不同尺寸的屏幕来提供更好的用户体验。在移动设备上,由于屏幕空间有限,传统的水平导航菜单可能会在小屏幕上显示不全或导致用户需要不断滑动屏幕来查看完整的菜单项。因此,响应式导...
    99+
    2023-11-21
    响应式 导航 CSS
  • 用css3的transition属性制作的菜单导航效果
    这篇文章主要讲解了“用css3的transition属性制作的菜单导航效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“用css3的transition属性...
    99+
    2022-10-19
  • 如何使用CSS制作天蓝色导航菜单
    这篇文章给大家分享的是有关如何使用CSS制作天蓝色导航菜单 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们先看最终效果:第一步:放置一个div作为导航主体部分XML/HTML...
    99+
    2022-10-19
  • 如何使用css3实现响应式滑动菜单
    小编给大家分享一下如何使用css3实现响应式滑动菜单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   <!DOCTYP...
    99+
    2022-10-19
  • 如何使用HTML和CSS创建一个响应式导航菜单布局
    导航菜单是网站设计中非常重要的一个元素,它能够帮助用户快速浏览并导航到网站的不同部分。随着移动设备的普及,响应式设计也成为了必要的要素之一,因为在不同大小的屏幕上,导航菜单的布局和样式需要调整以适应不同设备。在本文中,我将向您展示如何使用H...
    99+
    2023-10-21
    CSS html 响应式导航菜单
  • 怎么使用WordPress制作主题导航菜单
    这篇文章主要介绍“怎么使用WordPress制作主题导航菜单”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用WordPress制作主题导航菜单”文章能帮助大家...
    99+
    2023-02-24
    wordpress
  • 如何使用html和CSS3制作简单侧边导航栏
    这篇文章给大家分享的是有关如何使用html和CSS3制作简单侧边导航栏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下效果图:html:XML/HTML Code复制内...
    99+
    2022-10-19
  • 如何使用css3制作动感导航条
    这篇文章主要介绍“如何使用css3制作动感导航条”,在日常操作中,相信很多人在如何使用css3制作动感导航条问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用css3制作...
    99+
    2022-10-19
  • css如何制作黑色经典导航下拉菜单
    小编给大家分享一下css如何制作黑色经典导航下拉菜单,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下XML/HTML Code复制内容到剪贴板<!DOCTYPE ...
    99+
    2022-10-19
  • 怎么用CSS制作响应式折叠菜单
    本篇内容介绍了“怎么用CSS制作响应式折叠菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这个菜单能居左...
    99+
    2022-10-19
  • 如何使用css3制作炫酷的导航栏效果
    本篇内容介绍了“如何使用css3制作炫酷的导航栏效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 制作响应式导航栏:CSS属性的实用技巧
    制作响应式导航栏:CSS属性的实用技巧导航栏是网页中非常重要的部分,直接影响着用户体验和页面的整体布局。在移动设备流行的今天,响应式导航栏显得尤为重要。本文将介绍一些使用CSS属性来制作响应式导航栏的实用技巧,并提供具体的代码示例,帮助你在...
    99+
    2023-11-18
    制作 CSS属性 响应式导航栏
  • html中如何使用UL列表布局导航菜单
    这篇文章给大家分享的是有关html中如何使用UL列表布局导航菜单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用UL列表布局导航菜单通常网站都会有导航菜单,你可以用这样的方式定义:<div id...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作