当前位置: 首页 > 面试题库 >

“位置:粘性;” 无法正常工作的CSS和HTML

何修能
2023-03-14
问题内容

我想使导航栏在滚动到顶部时停留在顶部,但是它不起作用,我也不知道为什么。如果可以的话请帮我,这是我的HTML和CSS代码:

.nav-selections {

  text-transform: uppercase;

  letter-spacing: 5px;

  font: 18px "lato",sans-serif;

  display: inline-block;

  text-decoration: none;

  color: white;

  padding: 18px;

  float: right;

  margin-left: 50px;

  transition: 1.5s;

}



.nav-selections:hover{

  transition: 1.5s;

  color: black;

}



ul {

  background-color: #B79b58;

  overflow: auto;

}



li {

  list-style-type: none;

}


<nav style="position: sticky; position: -webkit-sticky;">

  <ul align="left">

    <li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li>

    <li><a href="#/about" class="nav-selections">About</a></li>

    <li><a href="#/products" class="nav-selections">Products</a></li>

    <li><a href="#" class="nav-selections">Home</a></li>

  </ul>

</nav>

问题答案:

粘性定位是相对定位和固定定位的混合。将该元素视为相对位置,直到它超过指定的阈值为止,此时将其视为固定位置。

您必须指定的至少一个阈值toprightbottom,或left为粘稠定位像预期的那样。否则,将无法与相对位置区分开。[资料来源:MDN ]

因此,在您的示例中,您必须使用top属性来定义最终应粘贴的位置。

html, body {

  height: 200%;

}



nav {

  position: sticky;

  position: -webkit-sticky;

  top: 0; /* required */

}



.nav-selections {

  text-transform: uppercase;

  letter-spacing: 5px;

  font: 18px "lato", sans-serif;

  display: inline-block;

  text-decoration: none;

  color: white;

  padding: 18px;

  float: right;

  margin-left: 50px;

  transition: 1.5s;

}



.nav-selections:hover {

  transition: 1.5s;

  color: black;

}



ul {

  background-color: #B79b58;

  overflow: auto;

}



li {

  list-style-type: none;

}


<nav>

  <ul align="left">

    <li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li>

    <li><a href="#/about" class="nav-selections">About</a></li>

    <li><a href="#/products" class="nav-selections">Products</a></li>

    <li><a href="#" class="nav-selections">Home</a></li>

  </ul>

</nav>


 类似资料:
  • 问题内容: 我尝试了响应式CSS布局,但是“ top:50%”不能工作,而“ left:50%”可以。为什么会这样呢? 问题答案: 定义父容器的尺寸,例如div: 要么 另一种方法是通过其顶部,底部,左侧和右侧属性来拉伸父容器(即div)。像这样:

  • 问题内容: 我正在尝试运行selenium测试。但是,每次尝试运行应该运行IE的测试时,我都会在htmlutils.js的863行收到错误消息,它表示我应该禁用弹出窗口阻止程序。事情是我去了IE工具->弹出窗口块。 所以它被禁用,我得到这个错误。 还有什么我需要禁用的吗?实际上,我什至不知道它正在运行哪个版本的Internet Explorer,因为我使用的是Windows 7 Pro 64位版本

  • 问题内容: 我在HashSet上调用Iterator.remove()遇到问题。 我有一组带有时间戳的对象。在将新项目添加到Set之前,我将遍历Set,确定该数据对象的旧版本并将其删除(在添加新对象之前)。时间戳包含在hashCode和equals()中,但不包含equalsData()。 奇怪的是,对于集合中的某些项目,i.remove()默默失败(也不例外)。我已经核实了 实际上会调用i.re

  • 问题内容: 这个问题已经在这里有了答案 : 高度百分比HTML 5 / CSS (6个答案) 3年前关闭。 我有以下简单的代码: 但是div不会以高度为100%显示。为什么? 问题答案: 您需要在所有父元素上设置100%的高度,在这种情况下,您的正文和html都应设置为100%。这个小提琴显示它正常工作。

  • 问题内容: 因此,我的设置无法按我想要的方式工作。因此,每当我运行该程序时,它就会立即从0变为100。我尝试使用,任务,并尝试了,但没有任何尝试。 这是我的程序: @MadProgrammer这是我尝试做一名摆动工作人员并将每个名称写入文档并更新进度栏的尝试。该程序将达到86%左右并停止运行,永远不会创建完成的文档。该程序将创建一个空白文档。这是我首先创建的SwingWorker对象,这是两种方法

  • 问题内容: 我在JLayeredpane上有两个JPanels。其中一个显示pdf,重叠的一个具有透明背景(我使用过setOpaque(false))。现在,我可以将图形添加到透明面板中,这样看来我实际上是在注释pdf。我想要一个橡皮擦工具来删除这些注释。我尝试使用以下代码 其中path是由多条线构成的形状。现在,不是在先前的图形上绘制 透明线 ,而是绘制 黑线 。我要去哪里错了? 问题答案: 请