CSS + jquery 实现响应式导航条

  实现响应式导航条通常需要使用HTML、CSS和JavaScript(通常使用jQuery)的组合。以下是一个简单的例子,演示如何使用CSS和jQuery创建一个响应式导航条:

  HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Navigation Bar</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>

<div class="navbar">
    <div class="menu-toggle" id="mobile-menu">
        <span class="bar"></span>
        <span class="bar"></span>
        <span class="bar"></span>
    </div>
    <ul class="nav-list">
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Services</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
</div>

<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script src="script.js"></script>
</body>
</html>

  CSS (styles.css):

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

.navbar {
    background-color: #333;
    overflow: hidden;
}

.nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.nav-list li {
    margin: 0;
}

.nav-list a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

.nav-list a:hover {
    background-color: #ddd;
    color: black;
}

.menu-toggle {
    display: none;
    cursor: pointer;
}

.bar {
    display: block;
    width: 25px;
    height: 3px;
    background-color: white;
    margin: 6px 0;
    transition: 0.4s;
}

@media screen and (max-width: 600px) {
    .nav-list {
        display: none;
        flex-direction: column;
        text-align: center;
        width: 100%;
        position: absolute;
        background-color: #333;
    }

    .nav-list.show {
        display: flex;
    }

    .nav-list li {
        width: 100%;
        text-align: center;
        margin: 0;
    }

    .menu-toggle {
        display: block;
    }
}

  JavaScript (script.js):

$(document).ready(function () {
    $('#mobile-menu').click(function () {
        $('.nav-list').toggleClass('show');
    });
});

  这个例子中,导航条在屏幕宽度小于等于600像素时变为响应式,显示一个菜单按钮。点击菜单按钮时,导航链接会显示或隐藏。菜单按钮使用三个水平条表示。

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/121.html

上一篇 2015-06-25
下一篇 2015-08-17

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • 高效jQuery的奥秘

      讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。   首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。   首先,如果你是一个javascript新手,我建议您阅读 《JavaScri......

    2015-12-09
    14860
  • JavaScrpit中异步请求Ajax实现,多个Ajax请求数据交互

      在前端页面开发的过程中,经常使用到Ajax请求,异步提交表单数据,或者异步刷新页面。   一般来说,使用Jquery中的ReferenceError: katex is not defined.post,$.getJSON,非常方便,但是有的时候,我们只需要ajax功能,这样引入Jquery比较不划算。   所以接下来便用原生JavaScrpit实现一个简单的Ajax请求,并说明ajax请求中的跨域访问问题,以及多个ajax请求的数......

    2017-07-19
    9500
  • PHP封装Page分页类定义与用法完整示例

      本文实例讲述了PHP封装的page分页类定义与用法。分享给大家供大家参考,具体如下:   亲测有效,见下图:   1. 测试实例test.php &lt;?php header("Content-Type: text/html; charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); //时区 require_once('page.class.php'); $sho......

    2019-01-10
    17860
  • 再谈PHP错误与异常处理

      请一定要注意,没有特殊说明:本例 PHP Version &lt; 7   说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php &lt;?php $num = 0; try { echo 1/$num; } catch (Exception $e){ ......

    2017-06-12
    13780
  • CSS clearfix清除浮动进化史

      我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧。   clearfix清除浮动   首先在很多很多年以前我们常用的清除浮动是这样的。 .clear{clear:both;line-height:0;}   现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题。但是这个用法有一个致命伤,就是每次清除浮动的时候都需要增加一个空标签来使用。   这种做法如果在......

    2014-11-18
    16870
  • HTML5新手入门指南

      HTML5是HTML的最新版本,引入了一系列新的元素、属性和API,使得开发者可以创建更强大、更交互性的Web页面。以下是HTML5新手入门指南的一些建议:   1. 基础结构 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="......

    2015-02-18
    18340
  • PHP匿名函数使用技巧

      之前写过一篇闭包的使用(点击此处进入),这次深入汇总下php中匿名函数的深入用法和理解:   php中的匿名函数 也叫闭包函数 允许指定一个没有名称的函数。把匿名函数赋值给变量,通过变量来调用,举个简单的例子: &lt;?php $anonymousFunc = function($username){ echo $username; }; $anonymousFunc("乔峰!");   技巧1:&nbs......

    2018-11-15
    15440
  • 个人站长该何去何从!

      前些天有个同行和我说51nes易主了,而且是十万块贱卖的,听到后有些不解,一个十几年的老站难道就值十万吗?这与个人站长们的付出很不相符,绝大多数个人站长都是一无钱、二无人、三无资源的三无状态,一个人身兼美工、技术、编辑、SEO、市场营销等数职,十年如一日做站的艰辛只有自己才知道。   我不认识51nes,但一直关注着这个站,记得是好几年都没更新了,游戏也下不了,处于荒废的状态,很显然,站长转行了,也就无心打理,至于转行的原因要么是......

    2018-11-21
    26334