粘贴菜单时,CSS 粘性菜单链接不起作用

标签 css jsfiddle sticky

JSFiddle code here

我正在尝试制作一个纯 CSS 的粘性菜单(无 JavaScript)。向下滚动时,将鼠标悬停在菜单项上不再有效。我不确定为什么不。

CSS:

* {
  margin: 0;
  padding: 0;
}

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

body {
  max-width: 960px;
  margin: auto;
}

.cont2 h1 {
  background: black;
  color: lightskyblue;
  padding: 10px;
}

.cont2 nav ul {
  list-style-type: none;
  background: lightskyblue;
  padding: 20px;
}

.cont2 nav ul li {
  display: inline-block;
}

.cont2 nav ul li a {
  text-decoration: none;
  padding: 20px;
  color: black;
  text-transform: uppercase;
}

.cont2 nav ul li a:hover {
  background: black;
  color: orange;
}

.sticky-nav {
  position: sticky;
  box-sizing: border-box;
  top: 0;
}

我不在这里发布 HTML,因为它太多了。

最佳答案

你需要设置 z-index:1; 到类 .sticky-nav

这是更新后的片段:

* {
  margin: 0;
  padding: 0;
}

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

body {
  max-width: 960px;
  margin: auto;
}

.cont2 h1 {
  background: black;
  color: lightskyblue;
  padding: 10px;
}

.cont2 nav ul {
  list-style-type: none;
  background: lightskyblue;
  padding: 20px;
}

.cont2 nav ul li {
  display: inline-block;
}

.cont2 nav ul li a {
  text-decoration: none;
  padding: 20px;
  color: black;
  text-transform: uppercase;
}

.cont2 nav ul li a:hover {
  background: black;
  color: orange;
}

.sticky-nav {
  position: sticky;
  box-sizing: border-box;
  top: 0;
  z-index: 1;
}
<div class="container cont2">
  <h1> Main Heading </h1>

  <nav class="sticky-nav">
    <ul>
      <li><a href="#"> Page One </a></li>
      <li><a href="#"> Page Two </a></li>
      <li><a href="#contact"> Contact </a></li>
    </ul>
  </nav>
  <div class="row">
    <div class="col">
      <h2> LOREM IPSUM </h2>

      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
    <div class="col">
      <h2> LOREM IPSUM </h2>

      <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
        dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
  </div>
  <div class="row" id="contact">
    <h2> CONTACT ME </h2>

    <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
      dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
  </div>
</div>

关于粘贴菜单时,CSS 粘性菜单链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53551661/

相关文章:

html - 修复滚动时隐藏在其他 div 后面的 div

javascript - 如何仅让容器从 IFRAME 中的页面显示?

html - Bootstrap 4——如何在溢出的列之间添加空间

html - 部分不适用于 CSS Sticky Footer

github - 如何从 jsFiddle 中的 GitHub 存储库创建嵌入式演示?

jquery - 自动化我的 slider

jquery - 在固定位置侧边导航下平滑滚动内容

html - 在同一基线上对齐不同的字体大小

html - 如何在不更改 html 和比率的情况下裁剪图像高度(并将其居中)?

html - jsfiddle 和 codepen 上相同的 html/css 代码之间无法解释的区别