当前位置:首页 > 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
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…