父子div元素水平垂直居中的七种方法

article/2025/7/21 13:08:09

效果样式图如下:

在这里插入图片描述

方法一:利用定位和transform的方法来进行居中

说明:首先利用定位中的子元素绝对定位和父元素相对定位的方法来,top:50% 和left:50%会使子元素在父元素中向下移动250px,向右移动250px,子元素因自身有高度和宽度,这会导致子元素不能完全居中的情况,transform中的translate属性可以使子元素以自身为中心向上移动和向左移动分别自身的高度,以达到垂直水平居中的效果

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;position: relative;}.box2{width: 200px;height: 200px;background-color: aquamarine;position: absolute;top: 50%;  left: 50%;transform: translate(-50%,-50%);}
</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

方法二:计算水平垂直居中的距离来定位元素

说明:方法二与方法一不同之处在于需计算子元素和父元素的距离,通过高度和宽度可知子元素需要向下和向右移动150px,利用30%(150px/500px)来进行定位,当然可以利用top和left:150px也可以水平垂直居中

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;position: relative;
}.box2{width: 200px;height: 200px;background-color: aquamarine;position: absolute;top: 30%;  left: 30%;}
</style>
<body><div class="box1"><div class="box2"></div></div>

方法三:利用外边距margin设置数值和top方法

说明: 与方法一不同之处在于利用外边距来移动子元素的位置,margin-top和margin-left的值分别为子元素自身高度和宽度的一半的负值

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;position: relative;
}.box2{width: 200px;height: 200px;background-color: aquamarine;position: absolute;top: 50%;left: 50%;margin-top: -100px;margin-left: -100px;}
</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

方法四:利用top和margin为auto的方法

说明:当分别将top,bottom,left,right设置为0时,子元素因自身的宽度和高度不足,会在父元素上的初始位置显示,但设置margin为auto,会分别将子元素在父元素中的边距设置为水平垂直居中的距离

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;position: relative;
}.box2{width: 200px;height: 200px;background-color: aquamarine;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;}
</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

方法五:利用flex布局的方法(建议使用)

说明:当将box1设置为弹性盒子时,box2就会脱离文档流.利用justify-content和align-items设置为center就可以水平垂直居中.flex布局无需计算居中时的距离

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;display: flex;justify-content: center;align-items: center;}.box2{width: 200px;height: 200px;background-color: aquamarine;}
</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

方法六:隔离父子元素来设置边距margin

说明:在单独给box2设置边距的情况下,会出现边距重叠的问题.可以利用box1前面添加一个空table来分离box1和box2,这样就可以单独给子元素box2设置外边距来达到垂直水平居中的效果.

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;}.box2{width: 200px;height: 200px;background-color: aquamarine;margin-top: 150px;margin-left: 150px;}.box1::before{content: "";display: table;}
</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

方法七:将父元素转化为table-cell类型

说明:将父元素box1转化为table-cell类型,并设置vertical-align为居中状态可以达到水平居中的效果.如果子元素为div等块级元素需转化为inline-block类型,设置text-align为居中状态可以达到垂直居中的效果

<style>.box1{width: 500px;height: 500px;background-color: antiquewhite;display: table-cell;vertical-align: middle;text-align: center;}.box2{width: 200px;height: 200px;background-color: aquamarine;display: inline-block;}</style>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

http://chatgpt.dhexx.cn/article/GaF6j6JS.shtml

相关文章

用户体验思考与flex三坑:元素不均分、溢出不省略和垂直不滚动

flex已经越来越成为前端不可避免的话题。曾经为了搞清flex的原理偶然画了一张图。但后来发现只是冰山一角。 在某些你想实现的交互效果中使用flex后可能会发现并不起作用。通过我的实践&#xff0c;大致有三个问题&#xff1a;子元素不平分父元素空间、对文字设置了溢出省略却…

DIV居中的经典方法

参考&#xff1a;https://www.cnblogs.com/rubykakas/articles/7992662.html 1. 实现DIV水平居中 设置DIV的宽高&#xff0c;使用margin设置边距0 auto&#xff0c;CSS自动算出左右边距&#xff0c;使得DIV居中。 div{width: 100px;height: 100px;margin: 0 auto; } 缺点&…

局域网屏幕共享_给安卓手机连一个大屏幕——多端协作(六)

好久不见,时下情势严峻,我们这儿封村了,生活变得更加不方便了。本来在网上买了肉,等到终于发货送到县城,我却不能进城去取了…… 希望顺丰营业点有冰箱,我的肉不会坏掉 今天给大家介绍的是Android系统的无线投屏功能,简单来说就是将支持的设备作为安卓手机的外接屏幕,以…

安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)

系列博文&#xff1a; &#xff08;1&#xff09;安卓手机与蓝牙模块联合调试&#xff08;一&#xff09;——蓝牙模块的串口通讯 &#xff08;2&#xff09;安卓手机与蓝牙模块联合调试&#xff08;二&#xff09;—— 单片机蓝牙控制LED灯亮灭&#xff08;上&#xff09; …

android 多屏幕显示activity,副屏,无线投屏

目录 1. 首先&#xff0c;需要一个副屏 1. 1 可以通过代码的形式自己创建VirtualDispaly ,创建副屏。 1.2 或者&#xff0c;在手机的开发者模式中直接开启模拟副屏&#xff0c;也是可以的。 2.0 怎么利用这个副屏幕&#xff1f; 2.1 用作 presentation 演示ppt&#xff1…

【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕

回去看看老家是不是还有旧平板电脑&#xff0c;可以跨设备&#xff0c;共享屏幕哦 一些远程控制软件&#xff0c;诸如&#xff1a;TeamViewer、AnyDesk等。 但是这次我要介绍的是 一款远程显示软件&#xff0c;甚至可以理解成一款简易的KVM系统。 虽然市面上许多远程控制软件…

Android设备之间投屏功能实现

简介 简单实现两个android设备之间的投屏功能。设备间通信是通过局域网&#xff0c;需要连接同一个wifi。 录屏用到系统的MediaProjection&#xff0c;MediaProjectionManager&#xff0c;而编解码用的是MediaCodec&#xff0c;所以设备需要有DSP芯片&#xff0c;大部分手机应…

CSS实现垂直居中的5种方法

第一种 position定位margin负距离 前提是知道居中元素的宽高&#xff0c;首先给居中元素定位&#xff0c;之后设置margin的负距离为具体宽高的一半便可达到垂直居中效果 <style>.box1 {height: 300px;width: 300px;border: 10px solid pink;position: relative;}.box2 {…

在html中如何使div在页面中居中显示

在html中如何使div在页面中居中显示 最近无聊中又再温习了下html,发现好多东西都忘了。尝试着写了一个html网页&#xff0c;结果就连div如何在页面中居中显示都查了好久才弄出来。其实我不知道为什么这样可以实现&#xff0c;因为css还没仔细研究过&#xff0c;等我参加完复试定…

实现div里的img图片水平垂直居中

body结构 <body><div><img src"1.jpg" alt"haha"></div> </body>方法一&#xff1a; 将display设置成table-cell&#xff0c;然后水平居中设置text-align为center&#xff0c;垂直居中设置vertical-align为middle。 <s…

程序运行的错误

程序的运行当可能会出现的问题 没有找到文件&#xff0c;可能是相应的文件没有编写&#xff0c;或者文件名输入的有错误 程序运行可能会出现500的错误&#xff0c;错误原因大概有&#xff0c;下面几种

小程序错误

小程序报错1&#xff1a;unknown: Unexpected token, expected “,” [ appservice 生成错误] pages/page04/page04.js: file: pages/page04/page04.js unknown: Unexpected token, expected “,” (25:4) 错误原因&#xff1a;没有逗号。 小程序报错2 设置 enable-flex 属…

winword.exe应用程序错误0xc0000142

正常使用Word&#xff0c;关机再开机&#xff0c;发现提示错误“winword.exe应用程序错误0xc0000142”&#xff0c;有效解决方法 1、winR&#xff0c;输入CMD 2、输入sfc/scannow 注&#xff1a;sfc/scannow&#xff1a;立即扫描所有受保护系统文件的完整性&#xff0c;并尽可…

解决devenv.exe应用程序错误,应用程序发生异常

解决devenv.exe应用程序错误&#xff0c;应用程序发生异常 打开VS2008/2010时&#xff0c;经常碰到:devenv.exe应用程序错误&#xff0c;应用程序发生异常&#xff0c;造成的原因是多种的&#xff0c;可能是环境变量配置出错&#xff0c;可能是你安装了冲突的插件&#xff0c;如…

添加或删除程序 rundll32.exe-应用程序错误

rundll32.exe-应用程序错误 点击开始-运行&#xff0c;输入 “cmd”&#xff0c;单击确定。 在打开的命令提示符窗口中依次输入第三步中的命令复制&#xff0c;然后粘贴到命令提示符窗口中运行。 regsvr32 Appwiz.cpl regsvr32 Jscript.dll regsvr32 Mshtml.dll regsvr32…

ps无法完成请求因为程序错误

目录 方法一&#xff1a;兼容性 方法二&#xff1a;清空缓存 方法三&#xff1a;图形处理器 方法一&#xff1a;兼容性 1、右击PS软件图标&#xff0c;选择“属性” 2.选择“兼容性”选项卡&#xff0c;勾选“以兼容模式运行这个程序”&#xff0c;并选择兼容的系统&#xf…

ArcGIS遇到严重的应用程序错误的解决办法

ArcGIS遇到严重的应用程序错误的解决办法 GIS思维 很多ArcGIS用户经常会碰到程序突然崩溃遇到严重错误的时候且重启无法解决。网上给出的方法基本就是几种没有&#xff0c;基本也解决不了。 也可以去测试&#xff0c;基本就是&#xff1a; ArcGIS找打不到配置信息&#xff0c…

Photoshop储存为psd出现程序错误提示怎么办?程序错误解决教程

Photoshop是大家进行平面设计是不可或缺的图像处理工具&#xff0c;然而大家在使用Photoshop做图像处理&#xff0c;准备将psd文件保存到电脑&#xff0c;是不是经常遇到过弹出了Photoshop【无法完成请求&#xff0c;因为程序错误】的提醒窗口&#xff0c;无法完成保存工作。具…

java程序出错_java程序错误类型及异常处理

一、程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的。程序的设计很少有能够一次完成,没有错误的(不是指HelloWorld这样的程序,而是要实现一定的功能,具备一定实用价值的程序),在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误就是我…

VMware.exe应用程序错误--应用程序无法正常启动(0xc000007b)错误解决方法

1.找到VMware安装包&#xff0c;双击打开安装包 2.进去到选择修复界面 3.等待修复完成然后重启电脑再进去VMware正常工作了 有什么问题可以在评论区交流