css不让块跟着滑块滚动

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

在网页或应用程序中,有时候我们需要滚动一个页面或区域,但不希望某个元素跟着滚动而移动。这时候,我们可以使用 CSS 来控制该元素。一般来说,我们可以使用 position: fixed; 来让元素固定

在网页或应用程序中,有时候我们需要滚动一个页面或区域,但不希望某个元素跟着滚动而移动。这时候,我们可以使用 CSS 来控制该元素。

一般来说,我们可以使用 position: fixed; 来让元素固定在页面上。但是,如果该元素的位置依赖于滑块(比如在一个固定大小的容器内滚动),那么固定它的位置就不太容易了。

幸好,CSS 提供了一个解决方案:position: sticky;。这个属性会让元素在特定的滚动位置固定,直到滚动到另一个位置时才移动。

下面是一个例子,演示如何在不使用 JavaScript 的情况下,让一个块固定在一个滑块内。我们先创建一个固定大小的容器:

<div class="container">
  <div class="block">这是一个块</div>
  <div class="scrollable"></div>
</div> 

然后,我们使用 CSS 把块固定在容器内:

.container {
  position: relative;
  width: 200px;
  height: 200px;
  overflow: auto;
}

.block {
  position: sticky;
  top: 0;
  background-color: red;
  color: white;
}

.scrollable {
  height: 1000px;
} 

我们用 position: relative; 把容器定位,然后设置它的大小和滚动。块在容器内通过 position: sticky; 固定在页面顶部。它的 top: 0; 属性把它放在容器的顶部。最后,我们用一个空的样式块占据滑块内部的高度,以便我们可以滚动页面。

注意:在某些浏览器中(比如 Safari),position: sticky; 不起作用。在这种情况下,可能需要使用 JavaScript 来实现固定位置的效果。但是,大多数现代浏览器都支持该属性,所以使用它可以让我们避免使用 JavaScript。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css不让块跟着滑块滚动

粉丝

0

关注

0

收藏

0

已有0次打赏