Element:scrollLeft 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

scrollLeft 属性是 Element 接口的一部分,用于获取或设置元素内容从其左边缘滚动(隐藏)的像素数。在现代浏览器中,此值具有亚像素精度,这意味着它不一定是整数。

一个双精度浮点数值,表示元素当前水平滚动的像素数。正值表示元素向右滚动(以显示更多右侧内容)。如果元素根本不向左或向右滚动,则 scrollLeft 为 0。如果文档不是活动文档,则返回值是 0。如果文档在亚像素精度设备上渲染,则返回值也具有亚像素精度,可能包含小数部分。

如果元素可以从初始包含块向左滚动,则 scrollLeft 可能为负值。例如,如果元素的 directionrtl(从右到左),并且内容向左增长,那么当滚动条处于最右侧位置(滚动内容的开头)时,scrollLeft0,然后随着您向内容末尾滚动,该值将变得越来越负。

Safari 会通过更新 scrollLeft 超出最大滚动位置来响应过度滚动(除非禁用了默认的“反弹”效果,例如通过将 overscroll-behavior 设置为 none),而 Chrome 和 Firefox 则不会。

可以设置 scrollLeft 属性,这将导致元素滚动到指定的水平位置,其方式与使用 Element.scroll() 并设置 behavior: "auto" 相同。

示例

HTML

html
<div id="container">
  <div id="content">Click the button to slide right!</div>
</div>

<button id="slide" type="button">Slide right</button>

CSS

css
#container {
  width: 100px;
  height: 100px;
  border: 1px solid #cccccc;
  overflow-x: scroll;
}

#content {
  width: 250px;
  background-color: #cccccc;
}

JavaScript

js
const button = document.getElementById("slide");

button.onclick = () => {
  document.getElementById("container").scrollLeft += 20;
};

结果

规范

规范
CSSOM 视图模块
# dom-element-scrollleft

浏览器兼容性

另见