javascript - 带列的侧边栏导航

标签 javascript css

https://codepen.io/rudolph-reti/pen/PoqEjYm

<div id="mySidenav" class="sidenav">
  <a href="java script:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a><a href="#">About</a><a href="#">Services</a><a href="#">Clients</a><a href="#">Contact</a>
</div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span>
body {
  font-family: "Lato", sans-serif;
}

.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 15px;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #f1f1f1;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}
function openNav() {
  document.getElementById("mySidenav").style.width = "250px";
}

function closeNav() {
  document.getElementById("mySidenav").style.width = "0";
}

在侧边栏中,根据其当前大小和链接数量,滚动条是否出现。我想为侧边栏中的链接设置 150 px 宽的列,并使 slider 仅在没有更多空间容纳新列时才出现。怎么做?

2020 年 3 月 10 日版本: 我希望链接像文本栏中那样排列:

  • 关于
  • 服务
  • 客户
  • 联系方式

等等

最佳答案

您可以尝试将其添加到 CSS 中:

.sidenav a {
min-width: 50px;
float: left;
}
@media (max-width: 480px) {
.sidenav a {
float:none;
}}

通过使用媒体查询,您可以仅针对较小的屏幕(例如低于 480 像素的所有屏幕)设置侧边栏链接的样式。

关于javascript - 带列的侧边栏导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60607411/

相关文章:

javascript - 如何将数组的值添加到对象

javascript - Node 在服务器和客户端之间共享数据

html - 下拉菜单按钮颜色不全,中间有奇怪的间隙

javascript - 单击时避免菜单切换关闭

php - 我如何编写用于自动变色的 php 代码?

javascript - 如何检查 HTML 元素是否具有子元素的链接

javascript - 为什么我的 Three.js 对象是同时显示而不是单独显示?

java - 获取图像中特定区域的主色 : Color Query for Web Page Elements

java - 如何使 HTML 表格滚动

css - 表格主体不占据整个表格宽度