新闻中心
使用 CSS Grid 实现元素置于垂直居中容器顶部且不超出屏幕的布局

本文介绍如何利用 CSS Grid 布局,实现一个元素位于垂直居中容器的顶部,并且在容器高度不足时,该元素能够固定在顶部,避免超出屏幕范围。通过示例代码和详细解释,帮助开发者掌握这种灵活且高效的布局技巧。
在网页设计中,经常会遇到需要将一个元素置于垂直居中的容器顶部,并且要保证在容器高度变化时,该元素不会超出屏幕范围的需求。传统的定位方式可能需要借助 J*aScript 来动态调整,但使用 CSS Grid 布局可以更简洁地实现这一效果。
使用 CSS Grid 实现布局
CSS Grid 布局提供了一种强大的方式来控制页面元素的排列。我们可以利用 Grid 的 grid-template-rows、justify-content 和 align-items 属性来实现垂直居中和元素置顶的效果。
以下是一个具体的实现示例:
HTML 结构:
<div class="wrapper">
@@##@@
<div class="centered">
<h1>Heading</h1>
<p>
And some content. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen
book.
</p>
</div>
</div>
<button onclick="toggle()">toggle wrapper size</button>CSS 样式:
万相营造
阿里妈妈推出的AI电商营销工具
168
查看详情
.wrapper {
height: 600px; /* 初始高度,可以根据需要调整 */
display: grid;
grid-template-rows: 1fr auto 1fr; /* 将容器分为三行 */
justify-content: center; /* 水平居中 */
align-items: end; /* 底部对齐,保证内容区域在底部 */
}
.centered {
background: #F00; /* 仅用于演示,可以替换为实际样式 */
width: 300px; /* 内容区域宽度 */
}
.on-top {
margin-bottom: 16px; /* 元素与内容区域的间距 */
}
button {
position: absolute;
top: 0;
right: 0;
}J*aScript (用于演示容器高度变化):
let i = 0;
function toggle() {
document.querySelector('.wrapper').style.height = i++ % 2 === 0 ? '300px' : '600px';
}代码解释:
-
.wrapper:
- display: grid;:将容器设置为 Grid 布局。
- grid-template-rows: 1fr auto 1fr;:将容器分为三行,第一行和第三行占据剩余空间(1fr),中间行(auto)的高度由内容决定。这使得内容区域始终垂直居中。
- justify-content: center;:使内容在水平方向上居中。
- align-items: end;:将内容区域对齐到容器底部。
- .centered: 定义了内容区域的样式,例如背景颜色和宽度。
- .on-top: 定义了置于顶部的元素的样式,例如底部外边距。
工作原理:
通过将容器设置为 Grid 布局,并使用 grid-template-rows 将其划分为三行,我们可以利用 align-items: end 属性将内容区域对齐到容器底部。同时,1fr 单位使得顶部和底部行自动分配剩余空间,保证了垂直居中的效果。当容器高度减小时,置于顶部的元素会自动向上移动,直到触及容器顶部,从而避免超出屏幕范
围。
注意事项
- 确保 .wrapper 容器具有明确的高度,以便 Grid 布局能够正常工作。
- 可以根据实际需求调整 grid-template-rows 的值,以实现不同的布局效果。
- 如果需要更复杂的布局,可以考虑使用 CSS Grid 的其他属性,例如 grid-template-columns、grid-column 和 grid-row。
总结
使用 CSS Grid 布局可以轻松实现元素置于垂直居中容器顶部且不超出屏幕的布局,无需编写复杂的 J*aScript 代码。这种方法不仅简洁高效,而且具有良好的可维护性和扩展性,是现代 Web 开发中常用的布局技巧之一。通过掌握 CSS Grid 布局,开发者可以更加灵活地控制页面元素的排列,创造出更加美观和用户友好的界面。
以上就是使用 CSS Grid 实现元素置于垂直居中容器顶部且不超出屏幕的布局的详细内容,更多请关注其它相关文章!
# 显示效果
# 美妆网站建设策划方案
# 营销事件平台推广方案
# 龙华网络推广营销策划
# 恩施网站建设机构
# 仙桃网站建设推广
# 网站建设评审会简报
# 深圳优质营销推广
# 网站装修搜索推广
# 台北百度网站优化
# 西藏网站建设电话
# 将其
# 这一
# 是一个
# css
# 可以利用
# 设置为
# 可以根据
# 单选框
# 表单
# red
# 垂直居中
# 排列
# 网页设计
# app
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Lar*el DB::listen 事件中的查询执行时间单位解析
基于动态规划的房屋花卉种植最小成本算法详解
Win10快速启动功能利弊分析 Win10开启或关闭快速启动教程【技巧】
TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
新三国志曹操传110级星符试炼夏侯渊极难攻略
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
Golang如何处理RPC请求负载均衡_Golang RPC请求负载均衡策略与实践
Win10系统怎么查看已安装更新_Win10卸载有问题的更新补丁
css子元素高度不一致导致布局错位怎么办_使用align-items:stretch解决高度差异
Node.js中HTML按钮与J*aScript函数交互的正确姿势
Go语言中动态执行代码字符串的策略与实践
俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口
大麦的“候补”是什么意思 大麦候补购票规则【详解】
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
马斯克:Optimus 人形机器人复数形式为 Optimi
钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法
三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升
如何修改开机登录密码_Windows账户安全设置超详细教程【必学】
J*aScript中正确使用querySelectorAll与复杂CSS选择器
qq游戏网页版直接玩_qq游戏免下载快速入口
离线运行Go语言之旅:本地部署与GOPATH配置指南
在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验
J*a里如何使用forEach遍历Map_Map遍历方法说明
使用Python高效删除Word宏并转换DOCM为DOCX格式
mc.js官网登录入口 mc.js官方登录入口最新版
谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航
解决J*aScript中重复选择项的确认对话框显示问题
Mac终端命令大全_Mac常用Terminal指令速查
天眼查企业查询官网入口 天眼查官方网页版查询
BetterDiscord插件中安全更新用户简介的实践指南
Selenium Python中处理点击后新窗口加载冻结问题的策略与实践
Node.js 中使用 node-cron 实现定时 API 数据抓取与处理
163邮箱登录密码 163邮箱忘记密码找回
C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图
Win11文件资源管理器卡顿怎么修 Win11重置资源管理器进程优化响应速度【修复方法】
动漫花园资源网使用步骤_动漫花园资源网下载流程
Go语言中对Map值调用带指针接收者方法:原理与最佳实践
2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享
PHP中高效并行检查多链接状态的教程
提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案
怎么在html里运行vbs脚本_html中运行vbs脚本方法【教程】
Python多线程中正确使用sigwait处理SIGALRM信号
sublime怎么设置启动时打开的窗口_sublime会话管理与热退出
微信网页版官方入口直达 微信网页版网页版登录使用方法
steam官方网页快速访问 steam账号注册全流程
QQ邮箱官方网页版登录 QQ邮箱个人邮箱快速访问
qq邮箱日历功能怎么用_创建日程与会议邀请的技巧
如何在网页中实现特定地点的随机图片展示
CSS响应式网页如何实现主次模块比例自适应_flex-grow与flex-shrink调整


2025-10-29
浏览次数:次
返回列表