scroll-behavior CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.

The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

Note that any other scrolls, such as those performed by the user, are not affected by this property. When this property is specified on the root element, it applies to the viewport instead. This property specified on the body element will not propagate to the viewport.

User agents are allowed to ignore this property.

句法

/* Keyword values */
scroll-behavior: auto;
scroll-behavior: smooth;
/* Global values */
scroll-behavior: inherit;
scroll-behavior: initial;
scroll-behavior: unset;
				

scroll-behavior property is specified as one of the keyword values listed below.

auto

The scrolling box scrolls instantly.

smooth

The scrolling box scrolls in a smooth fashion using a user-agent-defined timing function over a user-agent-defined period of time. User agents should follow platform conventions, if any.

形式定义

初始值 auto
适用于 scrolling boxes
继承 no
计算值 如指定
动画类型 discrete

形式句法

auto | smooth
					

范例

Setting smooth scroll behavior

HTML

<nav>
  <a href="#page-1">1</a>
  <a href="#page-2">2</a>
  <a href="#page-3">3</a>
</nav>
<scroll-container>
  <scroll-page id="page-1">1</scroll-page>
  <scroll-page id="page-2">2</scroll-page>
  <scroll-page id="page-3">3</scroll-page>
</scroll-container>
					

CSS

a {
  display: inline-block;
  width: 50px;
  text-decoration: none;
}
nav, scroll-container {
  display: block;
  margin: 0 auto;
  text-align: center;
}
nav {
  width: 339px;
  padding: 5px;
  border: 1px solid black;
}
scroll-container {
  display: block;
  width: 350px;
  height: 200px;
  overflow-y: scroll;
  scroll-behavior: smooth;
}
scroll-page {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 5em;
}
					

结果

规范

规范 状态 注释
CSSOM (CSS 对象模型) 视图模块
The definition of 'scroll-behavior' in that specification.
工作草案 Initial specification

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
scroll-behavior Chrome 完整支持 61 Edge 完整支持 79 Firefox 完整支持 36 IE 不支持 No Opera 完整支持 48 Safari 完整支持 14 WebView Android 完整支持 61 Chrome Android 完整支持 61 Firefox Android 完整支持 36 Opera Android 完整支持 45 Safari iOS 完整支持 14 Samsung Internet Android 完整支持 8.0

图例

完整支持

完整支持

不支持

不支持

元数据

  • 最后修改:
  1. CSS
  2. CSS 参考
  3. CSSOM View
  4. 指南
    1. Coordinate systems
  5. 特性
    1. scroll-behavior