当前位置:首页 > JavaScript

不用js实现导航栏隐藏

2026-03-01 23:44:01JavaScript

使用纯CSS实现导航栏隐藏

通过CSS的positiontransformtransition属性可以实现无需JavaScript的导航栏隐藏效果。以下是一种常见方法:

<nav class="navbar">
  <a href="#">首页</a>
  <a href="#">产品</a>
  <a href="#">服务</a>
</nav>
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #333;
  transition: transform 0.3s ease;
}

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

利用:hover伪类触发显示

通过CSS的:hover伪类可以在用户鼠标悬停时显示导航栏:

.navbar {
  height: 50px;
  overflow: hidden;
  transition: height 0.3s;
}

.navbar:hover {
  height: auto;
}

使用:focus-within实现点击显示

:focus-within伪类可以在用户与导航栏交互时保持显示状态:

.navbar {
  height: 0;
  overflow: hidden;
  transition: height 0.3s;
}

.navbar:focus-within {
  height: auto;
}

结合checkbox hack技术

利用隐藏的复选框和:checked伪类可以实现点击切换:

<input type="checkbox" id="nav-toggle">
<label for="nav-toggle">菜单</label>
<nav class="navbar">
  <a href="#">链接1</a>
  <a href="#">链接2</a>
</nav>
#nav-toggle {
  display: none;
}

.navbar {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
}

#nav-toggle:checked ~ .navbar {
  max-height: 500px;
}

响应式设计的隐藏方案

在媒体查询中根据不同屏幕尺寸隐藏导航栏:

不用js实现导航栏隐藏

@media (max-width: 768px) {
  .navbar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: translateY(100%);
    transition: transform 0.3s;
  }

  .navbar.active {
    transform: translateY(0);
  }
}

这些方法均无需JavaScript,仅通过CSS即可实现导航栏的隐藏和显示效果,适合对性能有要求或需要简化代码的场景。

标签: js
分享给朋友:

相关文章

js实现跳转

js实现跳转

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

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现乘

js实现乘

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

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…