当前位置:首页 > JavaScript

不用js实现导航栏隐藏

2026-01-31 08:33:05JavaScript

使用纯CSS实现导航栏隐藏

通过CSS的positiontransform和过渡效果可以实现导航栏的隐藏与显示。以下是一个常见的实现方式:

<style>
  .navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: #333;
    transition: transform 0.3s ease;
  }

  .navbar.hidden {
    transform: translateY(-100%);
  }

  .content {
    padding-top: 60px;
  }
</style>

<div class="navbar"></div>
<div class="content">
  <!-- 页面内容 -->
</div>

利用滚动事件和CSS类切换

虽然不使用JavaScript,但可以通过CSS的:hover:focus伪类来触发导航栏显示:

不用js实现导航栏隐藏

.navbar {
  position: fixed;
  top: -50px;
  width: 100%;
  height: 60px;
  background: #333;
  transition: top 0.3s;
}

body:hover .navbar {
  top: 0;
}

使用CSS动画关键帧

通过@keyframes创建动画效果来控制导航栏的显示与隐藏:

不用js实现导航栏隐藏

@keyframes slideDown {
  from { top: -60px; }
  to { top: 0; }
}

@keyframes slideUp {
  from { top: 0; }
  to { top: -60px; }
}

.navbar {
  position: fixed;
  top: -60px;
  width: 100%;
  height: 60px;
  background: #333;
  animation: slideDown 0.5s forwards;
}

.navbar:hover {
  animation: slideUp 0.5s forwards;
}

利用CSS的:target伪类

通过URL片段标识符和:target伪类实现导航栏切换:

<style>
  .navbar {
    position: fixed;
    top: -60px;
    width: 100%;
    height: 60px;
    background: #333;
    transition: top 0.3s;
  }

  .navbar:target {
    top: 0;
  }
</style>

<a href="#show-nav">显示导航栏</a>
<a href="#">隐藏导航栏</a>
<div id="show-nav" class="navbar"></div>

使用CSS的checkbox hack技术

通过隐藏的复选框和相邻兄弟选择器实现状态切换:

<style>
  #nav-toggle {
    display: none;
  }

  .navbar {
    position: fixed;
    top: -60px;
    width: 100%;
    height: 60px;
    background: #333;
    transition: top 0.3s;
  }

  #nav-toggle:checked + .navbar {
    top: 0;
  }
</style>

<label for="nav-toggle">切换导航</label>
<input type="checkbox" id="nav-toggle">
<div class="navbar"></div>

这些方法都无需JavaScript,仅通过CSS实现了导航栏的隐藏和显示功能,可以根据具体需求选择合适的方式。

标签: js
分享给朋友:

相关文章

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https:/…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url,…