当前位置:首页 > 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伪类来触发导航栏显示:

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

body:hover .navbar {
  top: 0;
}

使用CSS动画关键帧

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

@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技术

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

不用js实现导航栏隐藏

<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
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现vue

js实现vue

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

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…