0

0

css Grid布局如何实现平行滚动效果_通过grid布局实现水平和垂直滚动

P粉602998670

P粉602998670

发布时间:2026-02-05 11:29:32

|

790人浏览过

|

来源于php中文网

原创

Grid容器自身不支持平行滚动,需通过固定宽高+overflow: auto实现双方向滚动;子项错位多因gap、flex收缩或对齐属性干扰;移动端双滚动体验差,建议优先采用轮播等替代方案。

css grid布局如何实现平行滚动效果_通过grid布局实现水平和垂直滚动

Grid 容器本身不提供“平行滚动”能力

Grid 是二维布局系统,它负责划分空间、定位子元素,但滚动行为由 overflow 和容器尺寸共同控制。所谓“水平和垂直同时可滚动”,本质是让 Grid 容器内部内容溢出其可视区域,并启用双方向滚动条——Grid 只管“内容放哪”,不管“怎么滚”。常见误解是以为 grid-template-rowsgrid-auto-flow 能触发滚动,其实不能。

实现双方向滚动的关键:固定尺寸 + overflow

必须显式限制 Grid 容器的宽高,并设置 overflow: auto(或 scroll)。否则即使内容超出,容器也会自动撑开,不会出现滚动条。

  • 容器需有明确的 widthheight(如 300px100vh),不能依赖 min-content 或未设限的 auto
  • overflow-x: autooverflow-y: auto 可分别控制,但更常用 overflow: auto 一键启用双方向
  • 子项若使用 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)))) 等响应式写法,要确认总列宽可能远超容器宽度,才能触发横向滚动
.grid-container {
  width: 400px;
  height: 300px;
  display: grid;
  grid-template-columns: repeat(10, 150px); /* 总宽 1500px → 横向可滚 */
  grid-template-rows: repeat(20, 80px);     /* 总高 1600px → 纵向可滚 */
  overflow: auto;
}

滚动时 Grid 子项错位或跳动?检查 flex/gap/align 影响

滚动本身不会改变 Grid 布局结构,但视觉错位往往来自其他样式干扰:

  • gap 在滚动容器中可能被误判为内容的一部分,尤其配合 overflow: hidden 时,建议用 padding 替代外层间隙
  • 子项含 display: flex 且未设 flex-shrink: 0,在窄容器中会被压缩变形,影响滚动一致性
  • align-itemsjustify-items 设为 stretch(默认)时,若子项高度不一致,滚动中可能产生意外对齐偏移
  • 避免在 Grid 容器上同时设 scroll-snap-type,除非真需要吸附,否则易导致滚动卡顿或截断

移动端双滚动体验差?优先考虑替代方案

在 iOS Safari 或部分 Android 浏览器中,嵌套双方向滚动(尤其 Grid 内部再套可滚区域)常触发手势冲突、惯性丢失、缩放异常等问题:

玄鲸Timeline
玄鲸Timeline

一个AI驱动的历史时间线生成平台

下载

立即学习前端免费学习笔记(深入)”;

  • 原生 overflow: auto 在 iOS 上默认禁用双指横向滚动,用户只能拖拽,无法快速滑动
  • 若业务允许,把“水平滚动”改为轮播(如用 scrollBy() + touchstart/touchmove 手动控制),把“垂直滚动”留给页面主轴,体验更稳
  • 真需双滚动,务必加 -webkit-overflow-scrolling: touch(仅旧 iOS),并测试 overscroll-behavior: contain 防止父容器联动

Grid 布局的滚动能力很基础,真正难的是让滚动在各种设备上不抽风、不卡顿、不抢手势——这些细节比 Grid 写法本身更耗调试时间。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
overflow什么意思
overflow什么意思

overflow是一个用于控制元素溢出内容的属性,当元素的内容超出其指定的尺寸时,overflow属性可以决定如何处理这些溢出的内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1777

2024.08.15

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

136

2023.12.07

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

362

2023.06.14

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

297

2023.08.14

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

1758

2023.08.22

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2057

2023.09.19

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

277

2023.10.18

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

352

2024.03.01

AO3官网入口与镜像站汇总 Archive of Our Own访问路径及最新入口
AO3官网入口与镜像站汇总 Archive of Our Own访问路径及最新入口

本专题专注于提供Archive of Our Own (AO3) 的最新官网入口与镜像站地址,详细整理了可用的访问路径,包括中文镜像站入口和网页版直达链接,帮助用户轻松找到最稳定的访问方式,确保顺畅浏览AO3内容。

1

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.2万人学习

CSS教程
CSS教程

共754课时 | 27.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号