我的<nav>菜单应该只滚动到一侧才能查看所有选项,但我注意到,如果你在浏览器中用光标touch 它,特别是在iPhone上,它会上下移动,有时会消失.我不知道是哪处房产造成了这一切.

Html:

<nav class="scrollmenu">
  <ul>
    <li><a href="#starters">STARTERS</a></li>
    <li><a href="#ramen">RAMEN</a></li>
    <li><a href="">MAZEMEN</a></li>
    <li><a href="">TSUKEMEN</a></li>
    <li><a href="">DESSERT</a></li>
    <li><a href="">RAMEN</a></li>
    <li><a href="">DINNER</a></li>
    <li><a href="">DRINKS</a></li>
  </ul>
</nav>

Css:以下内容:

.scrollmenu {
  background-color: rgba(255, 255, 255, 1);
  overflow: auto;
  white-space: nowrap;
  color: black;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  z-index: 100;
  max-width: 840px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
}

.scrollmenu::-webkit-scrollbar {
  display: none;
}

.scrollmenu a,
li {
  display: inline-block;
  color: rgb(138, 138, 138);
  text-align: center;
  padding: 0px;
  text-decoration: none;
  font-weight: 600;
}

.scrollmenu p {
  display: inline-block;
  color: rgb(138, 138, 138);
  text-align: center;
  text-decoration: none;
}

.scrollmenu a:hover {
  color: black;
}

.scrollmenu a:active {
  color: black;
  text-decoration: underline;
}

ul {
  padding: 0;
  margin: 0;
}

nav li + li:before {
  content: " | ";
  padding: 20px;
}

因此,基本上菜单应该只滚动到一侧,这样您就可以在浏览器窗口中查看所有选项

推荐答案

它默认启用垂直滚动,可能的解决方案之一是通过overflow-y: hidden;禁用nav元素的垂直滚动:

.scrollmenu {
  background-color: rgba(255, 255, 255, 1);
  overflow: auto;
  white-space: nowrap;
  color: black;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  z-index: 100;
  max-width: 840px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  overflow-y: hidden;
}

.scrollmenu::-webkit-scrollbar {
  display: none;
}

.scrollmenu a,
li {
  display: inline-block;
  color: rgb(138, 138, 138);
  text-align: center;
  padding: 0px;
  text-decoration: none;
  font-weight: 600;
}

.scrollmenu p {
  display: inline-block;
  color: rgb(138, 138, 138);
  text-align: center;
  text-decoration: none;
}

.scrollmenu a:hover {
  color: black;
}

.scrollmenu a:active {
  color: black;
  text-decoration: underline;
}

ul {
  padding: 0;
  margin: 0;
}

nav li + li:before {
  content: " | ";
  padding: 20px;
}
<nav class="scrollmenu">
  <ul>
    <li><a href="#starters">STARTERS</a></li>
    <li><a href="#ramen">RAMEN</a></li>
    <li><a href="">MAZEMEN</a></li>
    <li><a href="">TSUKEMEN</a></li>
    <li><a href="">DESSERT</a></li>
    <li><a href="">RAMEN</a></li>
    <li><a href="">DINNER</a></li>
    <li><a href="">DRINKS</a></li>
  </ul>
</nav>

Html相关问答推荐

UseEffect()从不调用preact

如何才能只给没有孟加拉语Kar符号的字母上色?

如何在htmlAngular 17的@for中使用索引

获得一个css框,以便在页面太小时不再粘在页面的角落.

MatSnackBar: colored颜色 不起作用

如何影响flex项目中的flex-gap收缩顺序和文本换行顺序?

将导航项目底部边框与导航栏对齐

如何使链接组件内的内容不重新路由Next.js13

如何在小屏幕中制作水平滚动div

HTML,CSS-阻止按钮在单击时向上移动

当底部进入视图时从底部粘性定位

如何在CSS伪类函数中使用复合 Select 器:host-context()

如何在Rmarkdown中添加千位分隔符?

如何使用jQuery将我制作的通用头部和底部加载到多个HTML文件中?

在 iPhone 上分隔 HTML 邮箱输入中的多个邮箱条目

如何将某些 div 的高度限制为具有 display flex 行的同一父 div 中的其他 div?

使用 TailwindCSS 将徽标放在左上角,将菜单放在右上角

Tailwind CSS 复选框样式不起作用

圆形边框显示在该部分后面.怎么修?

Angular Material Hide Password 在输入时切换