使用 HTML 和 CSS 创建固定 3×3 网格布局并实现滚动效果

使用 html 和 css 创建固定 3x3 网格布局并实现滚动效果

本文将介绍如何使用 HTML 和 CSS 创建一个固定大小的 3×3 网格布局,并在网格元素超出 9 个时,实现水平滚动效果。该方法利用 CSS Grid 布局和一些巧妙的计算,确保在不同屏幕尺寸下始终显示 9 个元素,并将剩余元素置于可滚动区域,从而优化用户体验。

实现固定 3×3 网格布局

要实现一个固定 3×3 的网格布局,并让超出部分的元素可以水平滚动,可以使用 CSS Grid 布局结合一些自定义属性来实现。以下是详细的步骤和代码示例:

1. HTML 结构

首先,创建一个包含所有网格项的容器(例如,一个 div 元素),并为每个网格项创建相应的元素。

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

ONE
TWO
THREE
FOUR
FIVE
SIX
SEVEN
EIGHT
NINE
TEN
ELEVEN
TWELVE
THIRTEEN
FOURTEEN

2. CSS 样式

接下来,使用 CSS Grid 布局来定义网格的结构和样式。关键在于使用自定义属性来控制网格的列数、行数和间距,并使用 grid-auto-flow 和 overflow-x 属性来实现水平滚动。

.cards {  /* 定义列数 */  --cols: 3;  /* 定义行数 */  --rows: 3;  /* 定义网格间距 */  --gap: 5px;  /* 计算每个网格项的宽度 */  --width: calc((100% - var(--gap) * (var(--cols) - 1)) / var(--cols));  display: grid;  position: relative;  /* 使网格项按列排列,并允许自动填充 */  grid-auto-flow: column dense;  /* 定义网格的行模板 */  grid-template-rows: repeat(var(--rows), 1fr);  /* 定义网格的列宽度 */  grid-auto-columns: var(--width);  /* 设置网格间距 */  grid-gap: var(--gap);  /* 启用水平滚动 */  overflow-x: auto;}.card {  background-color: dodgerblue;  color: white;  padding: 1rem;  height: 4rem;}

代码解释:

–cols 和 –rows:定义了网格的列数和行数,这里设置为 3×3。–gap:定义了网格项之间的间距。–width:计算每个网格项的宽度,确保它们在容器内均匀分布。grid-auto-flow: column dense:使网格项按列排列,并允许自动填充,这意味着如果一个网格项无法放入当前行,它将自动移动到下一行。grid-template-rows: repeat(var(–rows), 1fr):定义了网格的行模板,1fr 表示每行的高度相等。grid-auto-columns: var(–width):定义了网格的列宽度,使用之前计算的 –width 变量。overflow-x: auto:启用水平滚动,当网格项超出容器宽度时,将显示滚动条。

3. 注意事项

确保容器的宽度足够容纳至少 3 列网格项。可以根据需要调整 –cols、–rows 和 –gap 变量来改变网格的布局。为了更好的用户体验,可以添加一些 CSS 过渡效果,使滚动更加平滑。

4. 总结

通过使用 CSS Grid 布局和自定义属性,可以轻松地创建一个固定 3×3 的网格布局,并实现水平滚动效果。这种方法灵活且易于维护,可以应用于各种需要固定大小网格布局的场景。 这种方法可以保证在任何屏幕尺寸下,都只显示前 9 个元素,超出的元素可以通过水平滚动查看。

以上就是使用 HTML 和 CSS 创建固定 3×3 网格布局并实现滚动效果的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1580199.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CSS相邻兄弟选择器失效?实现焦点输入框标签动态变换的技巧
上一篇 2025年12月22日 21:16:01
使用Flexbox轻松实现按钮与输入框的左右布局
下一篇 2025年12月22日 21:16:15

相关推荐

  • Java 中的异常体系结构是怎样的?Error和Exception有什么区别?

    Java 中的异常体系结构是怎样的?Error和Exception有什么区别?Java 中的异常体系结构是怎样的?Error和Exception有什么区别?Java 中的异常体系结构是怎样的?Error和Exception有什么区别?Java 中的异常体系结构是怎样的?Error和Exception有什么区别?

    Java异常体系以Throwable为根,分为Error和Exception:Error表示JVM无法恢复的严重问题,如OutOfMemoryError,通常不捕获;Exception表示可处理的异常,又分受检异常(如IOException,编译器强制处理)和非受检异常(如NullPointerEx…

    2026年9月27日 • 用户投稿
    100
  • PHP中动态设置HTML 背景色的正确实践

    <img src="https://img.php.cn/upload/article/001/246/273/175965168921241.jpg" alt="php中动态设置html 背景色的正确实践”>背景色的正确实践” /&…

    用户投稿 2026年9月26日
    100
  • 翅片散热器噪音控制技术探讨

    翅片散热器噪音控制技术探讨翅片散热器噪音控制技术探讨翅片散热器噪音控制技术探讨翅片散热器噪音控制技术探讨

    翅片散热器噪音主要由空气流动和机械振动引起。通过优化设计和材料选择可以有效降低噪音:1)调整翅片形状和间距,采用流线型设计和变速风扇;2)使用吸音材料和轻质减振材料,如铝合金和吸音棉;3)实际应用中需进行噪音测试、制定优化方案、定期维护和收集用户反馈。 翅片散热器噪音控制技术主要通过优化设计和材料选…

    2026年9月26日 • 用户投稿
    000
  • sublime怎么给vue文件设置高亮_sublime Vue文件语法高亮设置

    sublime怎么给vue文件设置高亮_sublime Vue文件语法高亮设置sublime怎么给vue文件设置高亮_sublime Vue文件语法高亮设置sublime怎么给vue文件设置高亮_sublime Vue文件语法高亮设置sublime怎么给vue文件设置高亮_sublime Vue文件语法高亮设置

    Sublime Text 默认不支持 Vue 文件的语法高亮,但可以通过安装插件来实现。Vue 文件是混合语法(HTML、JavaScript、CSS),需要专门的语法定义才能正确高亮。以下是设置步骤: 1. 安装 Package Control(如未安装) 如果还没安装 Package Contr…

    2026年9月26日 • 用户投稿
    100
  • sublime怎么格式化代码_Sublime Text代码格式化设置与快捷键

    sublime怎么格式化代码_Sublime Text代码格式化设置与快捷键sublime怎么格式化代码_Sublime Text代码格式化设置与快捷键sublime怎么格式化代码_Sublime Text代码格式化设置与快捷键sublime怎么格式化代码_Sublime Text代码格式化设置与快捷键

    Sublime Text通过安装HTML-CSS-JS Prettify等插件可实现代码格式化,需先安装Package Control,再通过命令面板搜索并安装插件,随后在Key Bindings中添加快捷键配置,如Ctrl+Alt+F用于格式化JS/HTML/CSS文件,保存后即可使用;注意确保文…

    2026年9月26日 • 用户投稿
    200
  • Windows Server 2012 Hyper-V群集图文教程

    Windows Server 2012 Hyper-V群集图文教程Windows Server 2012 Hyper-V群集图文教程Windows Server 2012 Hyper-V群集图文教程Windows Server 2012 Hyper-V群集图文教程

    接下来我们将继续测试windows server 2012 hyper-v群集功能,以实现虚拟机的高可用性。 实验环境: 四台服务器均运行Windows Server 2012 DataCenter操作系统。 SRV2012服务器上安装了iSCSI目标服务器角色,并配置了两个虚拟磁盘,供两台群集服务…

    2026年9月26日 • 用户投稿
    200
  • 浅谈 Windows 桌面端触摸架构演进

    浅谈 Windows 桌面端触摸架构演进浅谈 Windows 桌面端触摸架构演进浅谈 Windows 桌面端触摸架构演进浅谈 Windows 桌面端触摸架构演进

    我在和小伙伴水触摸相关的坑,说到了上古的触摸,很难和小伙伴统一知识,于是就写了本文用于告诉大家,桌面端的触摸架构是如何一步步演进的 所有触摸架构都建立在系统之上,和系统版本相关。所以可以通过系统划分。虽然说是触摸架构,但是我能知道的也就是应用层面的接口和编程方法,如果是小伙伴被标题吸引过来的,想看触…

    2026年9月26日 • 用户投稿
    200
  • pr如何把文字置于背景图片下方

    pr如何把文字置于背景图片下方pr如何把文字置于背景图片下方pr如何把文字置于背景图片下方pr如何把文字置于背景图片下方

    在使用premiere pro(pr)进行视频编辑时,将文字放在背景图片下方是一个常见的需求。以下为你详细介绍操作方法。 首先,在pr中导入背景图片和准备添加的文字素材。将背景图片拖入时间轴的视频轨道。 接下来添加文字。点击“字幕”工具,在节目监视器中创建文字。你可以设置文字的字体、大小、颜色等属性…

    2026年9月26日 • 用户投稿
    200
  • 优化快速排序:避免大型数组的栈溢出错误

    优化快速排序:避免大型数组的栈溢出错误优化快速排序:避免大型数组的栈溢出错误优化快速排序:避免大型数组的栈溢出错误优化快速排序:避免大型数组的栈溢出错误

    快速排序在处理大型数组时,由于递归深度过大可能导致栈溢出错误。本文将详细介绍如何通过优化递归策略,即始终对较小分区进行递归调用,并使用循环处理较大分区,从而将递归深度限制在对数级别(O(log n)),有效避免栈溢出,同时保持算法的平均时间复杂度。 快速排序与栈溢出挑战 快速排序(quicksort…

    2026年9月26日 • 用户投稿
    600
  • 实现搜索结果按字母排序:PHP结合Ajax的专业教程

    本文档旨在提供一种使用PHP和Ajax对通过POST方法获取的搜索结果进行A-Z排序的解决方案。我们将创建一个表单,保存POST数据,并利用PHP函数对医生列表进行排序,最终通过Ajax实现无需刷新页面的排序功能。 1. 修改 search.php 文件 首先,我们需要在 search.php 文件…

    2026年9月26日
    100
  • 悟空浏览器怎么把网页保存为图片_悟空浏览器将整个网页另存为图片教程

    悟空浏览器怎么把网页保存为图片_悟空浏览器将整个网页另存为图片教程悟空浏览器怎么把网页保存为图片_悟空浏览器将整个网页另存为图片教程悟空浏览器怎么把网页保存为图片_悟空浏览器将整个网页另存为图片教程悟空浏览器怎么把网页保存为图片_悟空浏览器将整个网页另存为图片教程

    使用悟空浏览器可将网页保存为图片:1. 通过菜单选择“长截屏”自动拼接完整页面;2. 利用分享功能调用系统截图工具生成图片;3. 将网页另存为HTML后借助第三方工具转换为图像格式。 如果您在浏览网页时希望将整个页面保存为图片以便分享或存档,但不确定如何操作,可以通过悟空浏览器的内置功能实现。以下是…

    2026年9月26日 • 用户投稿
    100
  • sublime如何创建自己的代码片段_sublime自定义代码片段教程

    sublime如何创建自己的代码片段_sublime自定义代码片段教程sublime如何创建自己的代码片段_sublime自定义代码片段教程sublime如何创建自己的代码片段_sublime自定义代码片段教程sublime如何创建自己的代码片段_sublime自定义代码片段教程

    在Sublime Text中创建自定义代码片段可提升编码效率。1. 通过Tools → Developer → New Snippet…打开模板;2. 编辑content、tabTrigger、scope和description字段,如设置html5触发HTML5结构;3. 保存为.ht…

    2026年9月26日 • 用户投稿
    100
  • 已破2000元!AMD 锐龙7 9700X处理器黄金周超值推荐

    已破2000元!AMD 锐龙7 9700X处理器黄金周超值推荐已破2000元!AMD 锐龙7 9700X处理器黄金周超值推荐已破2000元!AMD 锐龙7 9700X处理器黄金周超值推荐已破2000元!AMD 锐龙7 9700X处理器黄金周超值推荐

    非常适合朋友们宅家打游戏的黄金周即将到来啦,想要在这个假期拥有更好体验的玩家们,现在赶快来给自己的家用台式机升个级!近期新推出的3a大作对于电脑硬件的要求都还挺高的,所以今天就为大家推荐一款来自amd(超威)的锐龙7 9700x处理器,作为近期diy市场的热门选择,它具备卓越的性能表现、出色的能效控…

    2026年9月26日 • 用户投稿
    700
  • vivo浏览器如何设置电脑版UA_vivo浏览器切换电脑版网页标识方法

    vivo浏览器如何设置电脑版UA_vivo浏览器切换电脑版网页标识方法vivo浏览器如何设置电脑版UA_vivo浏览器切换电脑版网页标识方法vivo浏览器如何设置电脑版UA_vivo浏览器切换电脑版网页标识方法vivo浏览器如何设置电脑版UA_vivo浏览器切换电脑版网页标识方法

    可通过修改用户代理(UA)标识使vivo浏览器访问电脑版网页。首先尝试在设置中将UA标识切换为“Desktop”模式;若不支持,可手动输入电脑版UA字符串;还可安装UA切换插件实现一键切换,刷新页面后即可加载桌面版网站内容。 如果您在使用vivo浏览器时希望访问电脑版网页,但页面自动跳转至移动版,可…

    2026年9月26日 • 用户投稿
    400
  • 如何优化翅片散热器的散热效率

    如何优化翅片散热器的散热效率如何优化翅片散热器的散热效率如何优化翅片散热器的散热效率如何优化翅片散热器的散热效率

    优化翅片散热器的散热效率可以通过改进翅片设计、选择合适的材料和优化流体流动来实现。1. 改进翅片设计:采用波浪形或锯齿形的翅片,优化高度和厚度,通过仿真软件找到最佳参数。2. 选择合适的材料:使用铝合金、铜或新型材料如石墨烯,考虑导热性、成本和工作环境。3. 优化流体流动:调整风扇转速和位置,采用导…

    2026年9月26日 • 用户投稿
    000
  • 对象的内存布局是怎样的?(对象头、实例数据、对齐填充)

    对象的内存布局是怎样的?(对象头、实例数据、对齐填充)对象的内存布局是怎样的?(对象头、实例数据、对齐填充)对象的内存布局是怎样的?(对象头、实例数据、对齐填充)对象的内存布局是怎样的?(对象头、实例数据、对齐填充)

    JVM中对象内存布局由对象头、实例数据和对齐填充三部分组成,对象头存储Mark Word和类型指针,实例数据按字段大小排序存放以优化对齐,对齐填充保证对象大小为8字节倍数以提升访问效率。 在Java虚拟机(JVM)中,一个对象在内存中的布局通常可以划分为三个主要部分:对象头(Object Heade…

    2026年9月26日 • 用户投稿
    200
  • iOS 18.2RC版本评测

    iOS 18.2RC版本评测iOS 18.2RC版本评测iOS 18.2RC版本评测iOS 18.2RC版本评测

    ios 18.2rc版本姗姗来迟,今日送达给开发者用户,那 ios 18.2 rc版是否是一个好版本呢?分享给大家2小时的综合体验: 一、使用体验 整体的流畅度非常好,响应很快,App的动画过渡时间有所减少,第三方的兼容很稳定,2个小时内暂未出现闪退现象。 信号方面本次全面提升,三大运营商都ok,网…

    2026年9月26日 • 用户投稿
    300
  • 淘宝顺手买一件的东西是正品吗?是否值得入手?深度解析购物陷阱与机会

    淘宝顺手买一件的东西是正品吗?是否值得入手?深度解析购物陷阱与机会淘宝顺手买一件的东西是正品吗?是否值得入手?深度解析购物陷阱与机会淘宝顺手买一件的东西是正品吗?是否值得入手?深度解析购物陷阱与机会淘宝顺手买一件的东西是正品吗?是否值得入手?深度解析购物陷阱与机会

    在淘宝结算页面,那个永远比主商品便宜30%到50%的”顺手买一件”推荐位,就像超市收银台旁的糖果架,用难以抗拒的骨折价刺激着消费者的购买欲。但当我们看着9.9元的品牌护肤品小样,或19.9元的蓝牙耳机时,难免会产生疑惑:这些商品真的是正品吗?超低价背后是否存在消费陷阱? 一、解密平台推荐机制 1. …

    2026年9月26日 • 用户投稿
    200
  • win8自带的录屏功能怎么用_Win8录屏功能使用方法

    win8自带的录屏功能怎么用_Win8录屏功能使用方法win8自带的录屏功能怎么用_Win8录屏功能使用方法win8自带的录屏功能怎么用_Win8录屏功能使用方法win8自带的录屏功能怎么用_Win8录屏功能使用方法

    可通过步骤记录器、QQ录屏或第三方软件实现Windows 8操作记录。首先,使用psr.exe可生成图文报告;其次,QQ快捷键Ctrl+Alt+R支持区域录屏并保存为MP4;最后,安装兼容的第三方工具如数据蛙录屏软件,可实现全屏/区域录制并同步系统声音与麦克风输入,满足高质量录屏需求。 如果您想在W…

    2026年9月26日 • 用户投稿
    200
  • 率先完成 30TB 硬盘测试,希捷携手百度开启 AI 存储新纪元

    率先完成 30TB 硬盘测试,希捷携手百度开启 AI 存储新纪元率先完成 30TB 硬盘测试,希捷携手百度开启 AI 存储新纪元率先完成 30TB 硬盘测试,希捷携手百度开启 AI 存储新纪元率先完成 30TB 硬盘测试,希捷携手百度开启 AI 存储新纪元

    在人工智能技术迅猛发展的背景下,从大规模模型训练到广泛的边缘计算应用,数据以前所未有的速度不断产生。根据 idc 的预测,至 2028 年全球将生成高达 394zb 的数据,其中生成式 ai 贡献超过 100zb。面对如此庞大的数据体量,如何实现安全存储与高效管理,成为亟需解决的关键问题。对于承载数…

    2026年9月26日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信