首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使div的网格居中(纯JS和CSS)

要使div的网格居中,可以使用纯JS和CSS的方法。以下是一种常见的实现方式:

HTML结构:

代码语言:txt
复制
<div id="container">
  <div id="grid"></div>
</div>

CSS样式:

代码语言:txt
复制
#container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

#grid {
  width: 200px;
  height: 200px;
  background-color: #ccc;
}

JS代码(可选):

代码语言:txt
复制
window.addEventListener('resize', centerGrid);

function centerGrid() {
  var container = document.getElementById('container');
  var grid = document.getElementById('grid');
  var containerWidth = container.offsetWidth;
  var containerHeight = container.offsetHeight;
  var gridWidth = grid.offsetWidth;
  var gridHeight = grid.offsetHeight;
  
  var leftOffset = (containerWidth - gridWidth) / 2;
  var topOffset = (containerHeight - gridHeight) / 2;
  
  grid.style.left = leftOffset + 'px';
  grid.style.top = topOffset + 'px';
}

centerGrid(); // 初始居中

以上代码使用了flex布局,通过justify-content: center;align-items: center;将容器内的元素水平和垂直居中。height: 100vh;设置容器高度为视口高度,使其占满整个屏幕。

JS代码中的centerGrid函数用于在窗口大小改变时重新计算网格的位置,保持居中。最后调用centerGrid()来初始化网格的位置。

这种方法适用于大多数情况下的网格居中需求。如果需要更复杂的布局,可以使用其他技术,如CSS Grid或Flexbox的更高级功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何用一行Css代码使谷歌浏览器数据网格滚动快10倍

在 我公司, 我们使用 谷歌搜索控制台 来检查索引状态优化我们网站可见性。...它使用相同颜色编码,在大多数录音中,它会有很多橙色少一点紫色绿色。...对于此记录,它显示时间主要用于更新图层,如紫色方块中文本所示,其中表示:Update layer tree: 瀑布图显示, “Update layer tree” 是使滚动变慢原因。...第 4 步 - 检查 DOM 不幸是,DOM 在包含许多元素时不是很出色。如果是这样,则不需要在网络上各种流行 JS 数据网格中实现虚拟化技术。在这一点上,一个有根据猜测是,表呈现了很多元素。...了解更多关于CSS contain 在 MDN. 植入广告:如果您需要一个可执行数据网格处理 10 万+行与平滑滚动,请务必查看 Bryntum 网格 (由我和我同事开发).

2.2K10
  • Bootstrap入门【人类天堂】

    用于快速开发Web应用程序网站前端框架 Bootstrap是基于HTML、CSSJS,简介灵活,使Web开发更加快捷 总结:Bootstrap是一个建立在一个页面,可以在三个中断(PC、平板、手机...)上完美战士响应式前端框架 Why: 响应式设计(Bootstrap响应式CSS能够自适应台式机、平板电脑手机) 移动设备有限 浏览器支持 容易上手 Where: 企业网站、博客、网站后台之类网站...所以要有CSS文件 bootstrap.min.js:严格意义上来说,Bootstrap是基于jQuery一个库,jQuery又是javaScript一个库。...所以又要引入一个bootstrap.min.js库 案例:在页面上创建一个Button,观察原生态buttonBootstrapbutton区别 原生button: 原生button...> 我们给div加上背景色样式 再来看一下效果 .container{ background-color: pink; } Div自动居中

    81920

    聊一聊CSS过去与未来,加深对CSS理解

    它具备了使用弹性盒子网格来实现动画、转换适应布局能力,使得网页变得响应式酷炫。 从基本样式到复杂动画,CSS已经发展到了一个全新层次。它不再只是简单样式设置,而是让你整个网页焕发生机。...,使我们样式表更高效有组织。...你可以在一段时间内使CSS属性发生变化,控制过渡速度,并创建基于关键帧动画效果。...过去,更新CSS值是一项手动、耗时工作,静态CSS时代已经过去了。现在,我们工具包中有了CSS变量,可以在整个样式表中存储重用特定值。这些变量确保一致性,并使更新变得轻而易举。...在FirefoxSafari中得到支持,并在Chrome标志下使用 子网格是完善网格布局一部分,可以将网格布局应用于网格子元素,从而实现更一致和可维护布局。

    32350

    每天10个前端小知识 【Day 17】

    end:对齐单元格结束边缘 center:单元格内部居中 stretch:拉伸,占满单元格整个宽度(默认值) place-items属性是align-items属性justify-items属性合并简写形式...10.如何使用CSS提高页面性能? 每一个网页都离不开css,但是很多人又认为,css主要是用来完成页面布局,像一些细节或者优化,就不需要怎么考虑,实际上这种想法是不正确。...,而通过内联css关键代码能够使浏览器在下载完html后就能立刻渲染。...而如果外部引用css代码,在解析html结构过程中遇到外部css文件,才会开始下载css代码,再渲染 所以,CSS内联使用使渲染时间提前。...'"> 资源压缩 利用webpack、gulp/grunt、rollup等模块化工具,将css代码进行压缩,使文件变小,大大降低了浏览器加载时间 合理使用选择器 css匹配规则是从右往左开始匹配,例如

    14511

    前端面试(1)H5+css

    HTML&CSS: 浏览器内核 盒模型、flex 布局、两/三栏布局、水平/垂直居中; BFC、清除浮动; css3 选择器;css 继承 css3 动画、H5 新特性。...=width(content + border + padding) + margin; CSS 如何设置标准模型 IE 模型: 如果 doctype 协议缺失,会由浏览器自己界定,在 IE 浏览器中...它们被称为贝塞尔曲线 (https://cubic-bezier.com/) | | | | | | css 动画 js 动画区别: CSS3 动画优点缺点 优点: CSS3 动画在性能上会稍微好一些...,浏览器会对 CSS3 动画做一些优化(比如专门新建一个图层用来跑动画) 代码相对简单 缺点: 在动画控制上不够灵活 兼容性不好 部分动画功能无法实现(如滚动动画,视差滚动等) JS 动画优缺点 优点...控制能力强,可以单帧控制变换 写好,写好的话,完全可以兼容 IE6 缺点: 1.JS 运算预渲染性能不如 CSS3 动画,因为 CSS 动画 transform 矩阵,是 C++级,必然要比

    1.3K20

    CSS实现文字一行居中,多行左对齐方法

    CSS实现文字一行居中,多行左对齐方法 其实这种需求还是蛮常见。主要用于产品列表页面,用于产品图片下面,显示产品名称。但是其CSS实现实在是烧脑,一般就放掉这个需求,或者,使用JS实现。...但是,我坚信这一定能用CSS来解决!!我为什么如此信念笃定呢?因为我多年前在蓝色理想论坛见到过高手解决过!!! 好吧。我实在是找不到这个帖子了,万能百度没能给我解决方案。我只能自己想办法了。...问题描述 如何使用css实现文字一行居中,多行左对齐? 想要实现效果为: 未知文字长度,当文字长度小于盒子宽度,也就是一行时,文字居中。... 这应该是HTML结构 让P居中,P中文字左对齐 P宽度根据文字宽度伸缩 当文字为一行是,则P宽度小于LI宽度,又居中...则,看上去文字是局中 当大于一行时,P宽度LI宽度是一致 文字就居左了 所以,CSS是: /* 傻大本粗RESET*/ *{margin: 0;padding: 0;list-style

    2.6K10

    年薪30万前端面试题,你能答对几道?|附答案

    如何处理HTML5新标签浏览器兼容问题?如何区分 HTML HTML5? HTML5 现在已经不是 SGML 子集,主要是关于图像,位置,存储,多任务等功能增加。...; sessionStoragelocalStorage各自独立存储空间; CSS面试题 1.简要说一下CSS元素分类 块级元素:div,p,h1,form,ul,li; 行内元素 : span>...:table-cell属性使内容垂直居中; 5.写出几种IE6 BUG解决方法 双边距BUG float引起 使用display 3像素问题 使用float引起 使用dislpay:inline...优先级算法如何计算? CSS3新增伪类有那些?...(8) 避免在页面的主体布局中使用table,table要等其中内容完全下载之后才会显示出来,显示div+css布局慢。

    5.6K60

    CSS Flexbox 布局完全指南 (一):4000字,多示例讲解

    示例三:如何使用 Flexbox 创建网格布局 在这个例子中,我们要探讨整体 CSS 框架概念,这是很重要一点。 什么是网格布局? 网格是用来构建内容一系列水平垂直相交引导线。 ?...一系列水平垂直相交引导线 如果你对 Bootstrap 这样 CSS 框架比较熟悉,那你之前一定使用过网格布局。 你所掌握内容可能不一样,但这个例子会涵盖不同网格布局类型。...flex: 1 只有 1 值,这个值代表是 flex-grow 属性。 而 flex-shrink flex-basis 则分别设置为 1 0。...一行三个元素居中嵌套排列在较大元素里 你可以在这里查看最终布局效果。 更多网格布局 当你可以用 Flexbox 垂直网格甚至更复杂参数实现好看网格构造时,就可以把这个很好工具用于工作。...你可以从 CSS 网格布局这份资料了解更多 CSS 网格布局解决方案。 更多示例将在文章 Part 2 展示。

    4.5K20

    BootStrap应用开发学习入门

    响应式设计(重点): Bootstrap 响应式 CSS 能够自适应于台式机、平板电脑手机; BootStrap包含内容(主要包含): 基本结构:Bootstrap 提供了一个带有网格系统、链接样式...、背景基本结构 CSS样式: BS中已经定义好了一套CSS样式表 布局组件: 用于创建图像、下拉菜单、导航、警告框、弹出框等等 JS插件: BootStrap定义了一套JS插件,这些插件已经默认实现了很多种效果...BS 文件结构 预编译BootStrap #看到已编译 CSS JS(bootstrap.*),以及已编译压缩 CSS JS(bootstrap.min.*) C:\USERS\WEIYIGEEK...- examples/ - *.html #引导页 BootStrap需求样例 描述:使用BS框架需要引入标签以及CSSJS文件; <!...预定义网格类比如 .row .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。 列通过内边距 padding来创建列内容之间间隙。

    17.5K20

    前端进阶第3周打卡题目汇总

    由于最近有很多朋友问我如何入门进阶前端,以及如何提高自己javascript水平,为了认真回答这个问题并提高执行力,本人特地建了一个前端学习打卡群,每天会定期分享工作中常见问题笔试,面试题,以此来提高大家对前端掌握程度...2.给定一个span标签,用css并且用3种方式实现一个三角形。 ? 第二天 1.用至少3种方式实现数组去重。 ? ? ? 2.给定一个div标签,用css实现一个水波动画(2种方法)。 ?...(用::before::after伪对象也可以实现) 第三天 1.js实现一个深拷贝浅拷贝。 ? ? ? ? 2.给定一个div标签,用3种方式实现其子元素水平垂直居中。 ?...第八天 1.用js实现一个可以自定义格式时间函数 ? 2. 用css实现一个进度条动画 用css3实现惊艳面试官背景即背景动画(高级附源码) 第九天 1. 用js计算斐波那契数列第n项 ?...解释一下在js里,0.1+0.2为什么等于0.30000000000000004,如何通过代码解决这个问题? ?

    54010

    BootStrap应用开发学习入门

    响应式设计(重点): Bootstrap 响应式 CSS 能够自适应于台式机、平板电脑手机; BootStrap包含内容(主要包含): 基本结构:Bootstrap 提供了一个带有网格系统、链接样式...、背景基本结构 CSS样式: BS中已经定义好了一套CSS样式表 布局组件: 用于创建图像、下拉菜单、导航、警告框、弹出框等等 JS插件: BootStrap定义了一套JS插件,这些插件已经默认实现了很多种效果...BS 文件结构 预编译BootStrap #看到已编译 CSS JS(bootstrap.*),以及已编译压缩 CSS JS(bootstrap.min.*) C:\USERS\WEIYIGEEK...- examples/ - *.html #引导页 BootStrap需求样例 描述:使用BS框架需要引入标签以及CSSJS文件; <!...预定义网格类比如 .row .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。 列通过内边距 padding来创建列内容之间间隙。

    14.6K30

    CSS实现垂直居中布局

    父元素定宽高 position+margin 使用margin: auto使水平居中,将子容器设定为relative以在不脱离文档流情况下偏移50%,由于本身子容器占用一定宽高,会将其撑下,使用margin...父元素定宽高 position+transform 原理与position+margin相同,CSS3transform使得div向上平移自身高度50%。 <!...父元素不定宽高 grid Grid布局将网页划分成一个个网格,可以任意组合不同网格,做出各种各样布局 Grid布局与Flex布局有一定相似性,都可以指定容器内部多个项目的位置。...Flex 布局是轴线布局,只能指定"项目"针对轴线位置,可以看作是一维布局。Grid 布局则是将容器划分成"行""列",产生单元格,然后指定"项目所在"单元格,可以看作是二维布局。...: auto;" > 上述垂直居中布局Demo <!

    1.8K30

    一次性把所有普通经典网页布局讲得通通透透,多图预警,建议收藏

    水平垂直居中 如何实现水平垂直居中 可以说是CSS面试题中经典面试题,在多年前这个面试题给很多同学都带来了困惑,但 Flexbxo布局模块 CSS Grid布局模块 到来,可以说实现水平垂直居中已是非常容易...: 12列网格布局 12列网格布局最早是由960.gs提出网格布局系统(//960.gs/): 12列网格布局在设计系统CSS Framework中经常使用,比如业内经典Bootstrap http...http://paulhebertdesigns.com/gridley/ 不过这里主要是想大家一起看看在FlexboxGrid布局模块中是如何实现12列网格布局系统。...在使用CSS Grid布局模块实现12列网格布局,将会运用到repeat()、minmax()、gapfr等特性。具体来看一个示例吧。 <!...其实文章提到效果,比如水平垂直居中、等高布局、平均分布列 Sticky Footer 等,在 CSS 中一直有多种解决方案,只不过随着 CSS Flexbox 布局模块 CSS Grid 布局模块到来

    5.8K10

    CSS】最强大布局之grid布局精讲

    看这个就够了 详解 CSS3中最好用布局方式——flex弹性布局(看完就会) [前端CSS高频面试题]如何画0.5px边框线(详解) CSS3基础属性大全 CSS3动画属性 animation详解(...它将网页划分成一个个网格,可以任意组合不同网格,做出各种各样布局。 Grid 布局则是将容器划分成 “行” “列” 产生单元格,然后指定 “项目所在” 单元格,可以看作是二维布局。...单元格         每行每列都会分布单元格,在单元格内我们可以添加想要内容。         网格线 ​         格子边框为网格线,分为上下网格线左右网格线。...end - 对齐容器结束边框。 center - 容器内部居中。 stretch - 项目大小没有指定时,拉伸占据整个网格容器 space-around - 每个项目两侧间隔相等。...,在100px*100px内方格内水平垂直居中,整个网格 也水平居中在了页面中,如果不设置红色方块大小的话 里面的文字将会水平垂直居中。  ​

    2.8K21
    领券