jquery+css实现侧边导航栏效果

下面我就来详细讲解“jquery+css实现侧边导航栏效果”的攻略。

1. 准备工作

首先需要准备的是jquery和css文件。可以通过相应的CDN链接或者下载文件到本地。

2. HTML结构

侧边导航栏的HTML结构主要包括两个部分:导航栏头部和导航栏内容。可以通过以下示例粘贴到HTML代码中:

<div class="nav-header">
  <h3 class="logo">Logo</h3>
  <button class="nav-toggle"><i class="fa fa-bars"></i></button>
</div>
<div class="nav-content">
  <ul>
    <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>

3. CSS样式

接下来需要通过CSS样式来实现侧边导航栏的效果。可以使用以下代码:

/* 导航栏整体样式 */
.nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 60px;
  background: #333;
  color: #fff;
}

/* 导航栏logo样式 */
.logo {
  margin: 0;
  padding: 0 20px;
  font-size: 24px;
}

/* 导航栏toggle样式 */
.nav-toggle {
  margin-right: 20px;
  font-size: 24px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

/* 导航栏内容整体样式 */
.nav-content {
  position: fixed;
  top: 0;
  left: -200px;
  z-index: 100;
  width: 200px;
  height: 100%;
  background-color: #2c3e50;
  overflow-x: hidden;
  transition: 0.5s;
}

/* 导航栏内容ul、li样式 */
.nav-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

.nav-content ul li {
  margin: 20px 0;
}

.nav-content ul li a {
  display: block;
  padding: 10px;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  transition: 0.3s;
}

.nav-content ul li a:hover {
  background-color: #34495e;
}

4. jQuery代码

接下来需要使用jQuery代码来实现侧边导航栏的展开和关闭。可以使用以下代码:

$(function() {
  $('.nav-toggle').click(function() {
    $('.nav-content').toggleClass('show-nav');
  });
});

示例

这里提供两个示例供大家参考:

  1. 侧边导航栏同时支持PC和移动端显示

由于移动端和PC端的屏幕尺寸不同,在展示侧边导航栏时需要进行不同的布局。可以使用以下代码实现:

/* PC端导航栏样式 */
@media (min-width: 768px) {
  /* 导航栏内容整体样式 */
  .nav-content {
    position: static;
    top: auto;
    left: auto;
    z-index: 0;
    width: 100%;
    height: 60px;
    background-color: transparent;
    overflow-x: visible;
    transition: none;
  }

  /* 导航栏内容ul、li样式 */
  .nav-content ul {
    display: flex;
    flex-direction: row;
  }

  .nav-content ul li {
    margin: 0 10px;
  }

  .nav-content ul li a {
    display: inline-block;
    padding: 10px;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
  }
}

/* 移动端导航栏样式 */
@media (max-width: 767px) {
  /* 导航栏内容整体样式 */
  .nav-content {
    position: fixed;
    top: 0;
    left: -200px;
    z-index: 100;
    width: 200px;
    height: 100%;
    background-color: #2c3e50;
    overflow-x: hidden;
    transition: 0.5s;
  }

  /* 导航栏内容ul、li样式 */
  .nav-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    display: block;
  }

  .nav-content ul li {
    margin: 20px 0;
  }

  .nav-content ul li a {
    display: block;
    padding: 10px;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
  }
}
  1. 侧边导航栏展开后遮盖整个页面

可以通过后面添加一层全屏遮罩来实现:

/* 导航栏遮罩层样式 */
.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  display: none;
}

/* 导航栏展开时遮罩层显示 */
.show-nav + .nav-overlay {
  display: block;
}

同时,在侧边导航栏的HTML结构中加入以下代码:

<div class="nav-overlay"></div>

然后在jQuery代码中修改为以下代码:

$(function() {
  $('.nav-toggle').click(function() {
    $('.nav-content').toggleClass('show-nav');
    $('.nav-overlay').toggle();
  });
});

可以实现侧边导航栏展开时遮盖整个页面。

以上就是“jquery+css实现侧边导航栏效果”的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery+css实现侧边导航栏效果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • vue和react等项目中更简单的实现展开收起更多等效果示例

    实现展开收起更多等效果示例在Vue和React等项目中都可以采用下面提到的方法。 1. 使用Vue的v-if和v-else指令 Vue的v-if和v-else指令可以很方便地实现展开收起更多的效果。 示例代码如下: <template> <div> <p v-if="!isExpanded">{{ co…

    css 2023年6月10日
    00
  • Bootstrap整体框架之CSS12栅格系统

    Bootstrap整体框架之CSS 12栅格系统 简介 在Bootstrap中,12栅格系统是用于布局网页的重要组成部分,可以帮助我们将页面分割成多个水平方向的区块。每个栅格被称为一个列(column),可以包含在一个行(row)中。Bootstrap提供了一系列CSS类来帮助我们创建这些栅格。 栅格的基本表示 12栅格系统基于网页的宽度进行划分,它的理念是…

    css 2023年6月9日
    00
  • Package.js 现代化的JavaScript项目make工具

    Package.js 现代化的JavaScript项目make工具 Package.js 是一款现代化的 JavaScript 项目 make 工具,它可以帮助你快速搭建和管理 JavaScript 项目。Package.js 面向的目标是轻量级的,它的核心是通过一个简单的配置文件来执行一系列的任务,包括打包、编译、压缩、测试等等。在配置文件中,你可以使用很…

    css 2023年6月11日
    00
  • 只需20行代码就可以写出CSS覆盖率测试脚本

    下面是详细讲解“只需20行代码就可以写出CSS覆盖率测试脚本”的完整攻略。 什么是CSS覆盖率测试 CSS覆盖率测试是指验证CSS样式文件中哪些CSS选择器在页面渲染中真正被使用到了。通过这种方式可以减小CSS文件的大小,优化页面加载速度和性能。在开发中,使用CSS覆盖率测试可以发现哪些CSS属性没有被使用到,以便于淘汰无用的CSS,减小项目体积。 实现CS…

    css 2023年6月10日
    00
  • CSS使用position:sticky 实现粘性布局的方法

    下面来详细讲解一下如何使用 CSS 中的 position: sticky 实现粘性布局。 什么是粘性布局 在网页上,经常需要将某些元素固定在页面的顶部或底部,无论用户向上或向下滚动页面时,这些元素都应该保持在相应位置上。这就是所谓的粘性布局。 传统的实现方法是使用 JS 或 CSS 中的 position: fixed,但 position: fixed …

    css 2023年6月10日
    00
  • 关于asp.net 自定义分页控件

    下面是关于ASP.NET自定义分页控件的完整攻略。 什么是自定义分页控件? 在ASP.NET应用程序中,通常会使用分页控件来分页显示数据,但是在某些情况下,ASP.NET的原生分页控件功能可能无法满足需求,此时我们可以通过自定义分页控件来实现更加精细的分页处理。 自定义分页控件的实现步骤 自定义分页控件的实现步骤大致如下: 分页控件必须继承自System.W…

    css 2023年6月10日
    00
  • 前端html换肤功能的实现代码

    下面是关于前端HTML换肤功能的实现代码的攻略: 概述 前端HTML换肤功能一般是通过修改页面的CSS样式来实现的。具体来说,可以通过JavaScript动态修改页面中的CSS文件或内联样式,实现页面主题颜色、背景图等的变换。下面我们结合示例一步一步来讲解如何实现前端HTML换肤功能的代码。 步骤 1. 在HTML文档中引入CSS文件 首先,在HTML文档中…

    css 2023年6月9日
    00
  • 分享bootstrap学习笔记心得(组件及其属性)

    分享bootstrap学习笔记心得(组件及其属性) 1. 什么是bootstrap Bootstrap是Twitter公司开发的一个前端框架,它基于HTML、CSS、JavaScript,通过预设的样式,可以使前端页面快速搭建和美化。现在已经成为全球最受欢迎的前端框架之一。 2. 常用组件及其属性 2.1 导航栏(Navbar) Navgation Bar(…

    css 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部