【发布时间】:2021-03-27 05:08:13
【问题描述】:
当我输入代码时
html {
scroll-behavior: smooth;
}
我得到了我想要的锚链接的平滑效果。但是,我只希望这种效果适用于单个页面,而不是我的整个网站。所以我想也许这会起作用,使用我想要这个效果的单个页面的 body 标签的类。
.landing-page {
scroll-behavior: smooth;
}
但是,一旦我这样做了,效果就不起作用了,即使使用检查工具显示此属性已应用于.landing-page。为什么它不起作用,接下来我应该尝试什么?
编辑:
这是HTML。我试图让它平滑滚动到#how-it-works,并且只有那个锚。
<body class="landing-page welcome">
<div class="page first">
<div class="container">
<div class="heading">
<a class ="anchor" id="how-it-works"></a>
<span class="primary-text">
You have before you the best system for deeply learning math.
</span>
<span class="secondary-text">
Online, real tutors, at your own pace. Ask anything.
</span>
</div>
</div>
</div>
</body>
【问题讨论】:
-
我已经添加了答案,但如果您可以添加代码,那么我可能会提供更好的帮助。
-
注意滚动行为:平滑; Safari 或 IE 不支持
-
您实际上选择的答案不仅没有正确解释问题的原因,而且还做了一些不必要的事情,例如将
overflow: scroll添加到根元素。这不仅是不必要的(正如我在回答中所解释的,将平滑滚动添加到根会使视口平滑滚动);使用scroll而不是auto意味着总是有一个滚动条,不管是否需要。
标签: css