当前位置: 首页 > news >正文

CSS平滑滚动效果实现方法

一、纯CSS实现方案

  • 使用 scroll-behavior 属性

属性值

  • auto (默认值):滚动框立即滚动
  • smooth:滚动框以平滑的方式滚动
/* 全局平滑滚动 */
html {scroll-behavior: smooth;
}/* 特定容器平滑滚动 */
.scroll-container {scroll-behavior: smooth;overflow-y: scroll;height: 300px;
}
<!DOCTYPE html>
<html>
<head>
<style>html {scroll-behavior: smooth;}section {height: 100vh;padding: 20px;}#section1 { background-color: #f9c1d5; }#section2 { background-color: #b8e0f6; }#section3 { background-color: #d5f9c1; }
</style>
</head>
<body><nav><a href="#section1">Section 1</a><a href="#section2">Section 2</a><a href="#section3">Section 3</a></nav><section id="section1"><h2>第一部分</h2></section><section id="section2"><h2>第二部分</h2></section><section id="section3"><h2>第三部分</h2></section>
</body>
</html>

高级用法

  1. 控制滚动速度
    虽然scroll-behavior: smooth本身不提供速度控制,但可以结合CSS过渡实现:
html {scroll-behavior: smooth;scroll-snap-type: y proximity;scroll-padding-top: 50px; /* 为固定导航栏留出空间 */
}
  1. 水平平滑滚动
.horizontal-scroll {scroll-behavior: smooth;overflow-x: auto;white-space: nowrap;
}
  1. 禁用特定元素的平滑滚动
.no-smooth-scroll {scroll-behavior: auto !important;
}

二 window.scrollTo()

window.scrollTo() 是 JavaScript 中用于控制窗口滚动位置的方法,它可以实现即时滚动和平滑滚动两种效果。

// 基本形式
window.scrollTo(x-coord, y-coord)// 选项对象形式(支持平滑滚动)
window.scrollTo(options)

相关文章:

  • uni-app项目实战笔记23--解决首次加载额外图片带来的网络消耗问题
  • Spark教程6:Spark 底层执行原理详解
  • 合成生物学与人工智能的融合:从生命编程到智能设计的IT新前沿
  • 前端手写题(一)
  • 计算机网络通信技术与协议(九)————交换机技术
  • 量化面试绿皮书:33. 不公平的硬币
  • 拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
  • 发送与接收
  • 写一下自己对于“李建忠对话KK凯文.凯利《AI的进化和颠覆》实录”一些问题的理解
  • 群晖如何开启及使用ssh:小白用户上手指南-家庭云计算专家
  • Rabbitmq集成springboot 使用死信队列
  • [计算机网络] 局域网内的网络传输
  • 【Android】初识 Activity
  • 【人工智能基础】初识神经网络
  • docker私有仓库部署配置学习
  • 冯·诺依曼体系、哈佛架构以及现代计算机架构中的关键优化技术(多级缓存、流水线)
  • 网络资源模板--基于Android Studio 实现的咖啡点餐App
  • 为什么用Qwen3 embedding和rerank
  • 大模型MetaGPT面试题汇总及参考答案
  • WebRTC(七):媒体能力协商
  • 做橙光游戏的网站/电商热门关键词
  • css网站布局原码/微信公众号营销
  • 网站兼容工具/厦门人才网官网招聘信息网
  • 东莞外贸公司网站建设/国际要闻
  • 网站域名变更怎么查询/关键词优化推广排名
  • 网站开发文档模板下载/网站怎么做出来的