常见元素居中总结

解决Flexbox布局中元素无法居中的常见问题 Flexbox布局常见居中问题及解决方案:遇到水平/垂直居中失效时,需检查......并处理浏览器兼容性(如添加-webkit-前缀)。关键步骤包括:确保容器高度定义、使用开发者工具调试偏移量、添加响应式测试。完整代码示例展示了通过设置容器为flex并配合justify-content/align-items:center实现完美居中的方法。 阅读详情

水平居中

  • 行内元素水平居中

    用一个块状元素包裹,然后使用text-align:center居中

  • 块状元素水平居中
    将margin-left和margin-right设置为auto
  • 多个块状元素水平居中

    1. 将块状元素的display转换为inline-*,然后在其父元素上使用text-align:center

    2. 使用flex进行布局

display: flex;
justify-content: center;

垂直居中

  • 行内元素垂直居中
    1. 设置相同的padding值
    2. 将line-height的值与height的相等
  • 多行行内元素垂直居中
    1. 相同的padding-top与padding-bottom值
    2. 使用table居中
#multiple-inline-ver table {
    background: white;
    width: 240px;
    border-collapse: separate;
    margin: 20px;
    height: 250px;
}

#multiple-inline-ver table td {
    background: black;
    color: white;
    padding: 20px;
    border: 10px solid white;
    /* default is vertical-align: middle; */
}
<div id="multiple-inline-ver">
    <table>
      <tr>
        <td>
          I'm vertically centered multiple lines of text in a real table cell.
        </td>
      </tr>
    </table>
</div>
  1. 将父元素display设置为table,自身display设置为table-cell,然后对本身元素设置垂直对齐方式vertical-align:middle
#multiple-inline-ver .center-table {
  display: table;
  height: 250px;
  background: white;
  width: 240px;
  margin: 20px;
}
#multiple-inline-ver .center-table p {
  display: table-cell;
  margin: 0;
  background: black;
  color: white;
  padding: 20px;
  border: 10px solid white;
  vertical-align: middle;
}

<div id="multiple-inline-ver">
    <div class="center-table">
      <p>I'm vertically centered multiple lines of text in a CSS-created table layout.</p>
    </div>
</div>
  1. 使用flex布局方式
#flex-ver .flex-center {
    background: black;
    color: white;
    border: 10px solid white;
    display: flex;
    /* 垂直居中,要将主轴方向换为column */
    flex-direction: column;
    justify-content: center;
    /* 父容器必须有高度值 */
    height: 200px;
    resize: vertical;
    overflow: auto;
}

<div id="flex-ver">
    <div class="flex-center">
      <p>I'm vertically centered multiple lines of text in a flexbox container.</p>
    </div>
</div>

5.使用"ghost element"技术

.ghost-center {
    position: relative;
    background: white;
    width: 240px;
    height: 200px;
    margin: 20px;
    color: white;
    resize: vertical;
    overflow: auto;
    padding: 20px;
}
.ghost-center::before {
    content: " ";
    display: inline-block;
    height: 100%;
    width: 1%;
    vertical-align: middle;
}
.ghost-center p {
    display: inline-block;
    vertical-align: middle;
    width: 190px;
    margin: 0;
    padding: 20px;
    background: black;
}

<div class="ghost-center">
    <p>I'm vertically centered multiple lines of text in a container. Centered with a ghost pseudo element</p>
</div>
  • 块状元素垂直居中
    1. 知道元素的高度值
#block-ver main {
    background: white;
    height: 300px;
    margin: 20px;
    width: 300px;
    position: relative;//父元素相对定位
    resize: vertical;
    overflow: auto;
}

#block-ver main div {
    position: absolute;//子元素绝对定位
    top: 50%;//居父元素上边距距离为父元素高度的50%
    left: 20px;
    right: 20px;
    height: 100px;
    margin-top: -50px;//使用margin负值来本身高度的一半来将其居中
    background: black;
    color: white;
    padding: 20px;
}

<div id="block-ver-kown">
    <main>
      <div>
         I'm a block-level element with a fixed height, centered vertically within my parent.
      </div>
    </main>
</div>
  1. 不知道元素的高度值
#block-ver-unkown main {
  background: white;
  height: 300px;
  margin: 20px;
  width: 300px;
  position: relative;//父元素相对定位
  resize: vertical;
  overflow: auto;
}

#block-ver-unkown main div {
  position: absolute;//子元素绝对定位
  top: 50%;//设置距离父元素垂直距离的位置
  left: 20px;
  right: 20px;
  background: black;
  color: white;
  padding: 20px;
  transform: translateY(-50%);//设置向上偏移量
  resize: vertical;
  overflow: auto;
}

<div id="block-ver-unkown">
    <main>
      <div>
         I'm a block-level element with an unknown height, centered vertically within my parent.
      </div>
    </main>
</div>
  1. flex布局
#flex-ver-block main {
  background: white;
  height: 300px;
  width: 200px;
  padding: 20px;
  margin: 20px;
  display: flex;//父元素弹性布局
  flex-direction: column;//主轴方向设为垂直方向
  justify-content: center;//主轴方向居中
  resize: vertical;
  overflow: auto;
}

#flex-ver-block main div {
  background: black;
  color: white;
  padding: 20px;
  resize: vertical;
  overflow: auto;
}

<div id="flex-ver-block">
    <main>
      <div>
         I'm a block-level element with an unknown height, centered vertically within my parent.
      </div>
    </main>
</div>

水平方向与垂直方向同时居中

  • 元素有固定宽度和高度
#hor-ver-fixed main {
  position: relative;//父元素相对定位
  background: white;
  height: 200px;
  width: 60%;
  margin: 0 auto;
  padding: 20px;
  resize: both;
  overflow: auto;
}

#hor-ver-fixed main div {
  background: black;
  color: white;
  width: 200px;
  height: 100px;
  margin: -50px 0 0 -100px;//设置偏移量使其居中
  position: absolute;//子元素绝对定位
  top: 50%;//设置与父元素距离
  left: 50%;//设置与父元素距离
  padding: 20px;
}

<div id="hor-ver-fixed">
    <main>
      <div>
         I'm a block-level element a fixed height and width, centered vertically within my parent.
      </div>
    </main>
</div>
  • 元素没有固定高度与宽度值
#hor-ver-unkown main {
  position: relative;//父元素相对定位
  background: white;
  height: 200px;
  width: 60%;
  margin: 0 auto;
  padding: 20px;
  resize: both;
  overflow: auto;
}

#hor-ver-unkown main div {
  background: black;
  color: white;
  width: 50%;
  transform: translate(-50%, -50%);//设置偏移量使其居中
  position: absolute;//子元素绝对定位
  top: 50%;//设置与父元素距离
  left: 50%;//设置与父元素距离
  padding: 20px;
  resize: both;
  overflow: auto;
}

<div id="hor-ver-unkown">
    <main>
      <div>
         I'm a block-level element of an unknown height and width, centered vertically within my parent.
      </div>
    </main>
</div>
  • flex布局,应用在父元素上,可以不用知道居中元素的高度与宽度值,,但是需要知道父元素的高度与宽度值
#hor-ver-flex main {
  background: white;
  height: 200px;//
  width: 60%;
  margin: 10px auto;
  padding: 20px;
  display: flex;//flex布局
  justify-content: center;//水平居中
  align-items: center;//垂直居中
  /* 指定一个div元素,允许用户调整大小: */
  resize: both;
  overflow: auto;
}

#hor-ver-flex main div {
  background: black;
  color: white;
  width: 50%;
  padding: 20px;
  resize: both;
  overflow: auto;
}
<div id="hor-ver-flex">
    <main>
      <div>
         I'm a block-level-ish element of an unknown width and height, centered vertically within my parent.
      </div>
    </main>
</div>

总结:行内元素水平居中主要使用text-align:center的方法,块状水平元素居中主要使用margin:auto的方法,行内元素垂直居中主要使用line-height = height的方法,块状元素垂直居中主要使用绝对定位法,此外flex布局都可以使用,但是是应用在父元素上,并且对子元素应用什么居中,就需要知道它本身所对应的值

转载自:https://css-tricks.com/centering-css-complete-guide/

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力 本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。 阅读详情

相关推荐

基于Multisim设计电子密码锁

一、设计任务与要求:(可软件仿真实现)1)基本要求:设计一个数字密码锁,要求只有按正确的顺序,输入正确的密码,方能输出开锁信号,实现开锁。设置三个正确的密码键和若干个伪键,任何伪键按下后,密码锁都无法打开。每次只能接受四次按键信号,而且第四个键只能是“确定”或者“重输键”,其他无效。能显示已输入键的个数2)扩展要求:第一次密码输错后,可以输入第二次,但是连续三次输错,密码将被锁,必须按复位键才能解锁。

ablinger的博客 4415

常见元素居中的五种方法

块元素,且宽和高已知 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0

Dear 7476

流媒体学习之路(mediasoup)——simulcast 与 svc 简介(7)

流媒体学习之路(mediasoup)——simulcast 与 svc(7) 文章目录流媒体学习之路(mediasoup)——simulcast 与 svc(7)

qw225967的博客 7339

元素居中常见的方法

css中,div,h,p块级标签居中; span块级元素或行内块元素居中;带有绝对定位元素居中;文字居中。

ZhengDaHui360的博客 2420

怎么用phpstudy制作网站

随着实践的深入,你会逐渐掌握更多高级技巧和技术,让你的网站变得更加完善和吸引人。现在你已经成功设置了你的本地Web服务器环境,接下来我们将指导你如何利用这个环境来创建一个简单的PHP网页项目。为了使网站更加动态且功能丰富,我们需要学会如何让PHP脚本与MySQL数据库交互。为了让网站看起来更专业美观,可以考虑引入CSS样式表来定制网页布局及视觉效果。当你对本地开发的网站感到满意后,下一步就是将其发布到互联网上供他人访问了。让我们进一步扩展我们的网站,加入一个简单的用户注册与登录系统。

2401_87999399的博客 6573

Ubuntu双系统开机黑屏?3分钟搞定NVIDIA显卡驱动冲突(18.04/20.04实测有效)

本文详细解决Ubuntu双系统开机黑屏问题,特别是由NVIDIA显卡驱动冲突引起的故障。提供从临时进入系统到永久安装专有驱动的完整方案,适用于Ubuntu18.04/20.04用户,帮助快速恢复系统并优化显卡性能。

resnet7explorer的博客 308

CSS块级元素居中常见的几种方法

第一种: 父级元素加 display:flex; align-items:center; justify-content:center; 代码如图所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &lt

qweasd222asd的博客 2677

保姆级教程:在Ubuntu 20.04上搞定PX4飞控与T265的视觉定位(附避坑指南)

本文提供在Ubuntu 20.04上配置PX4飞控与T265视觉定位系统的详细教程,涵盖驱动安装、ROS与MAVROS桥接、PX4参数调优及故障排查。通过实测验证的步骤和避坑指南,帮助开发者实现厘米级精度的视觉定位,特别适合室内无人机应用。

weixin_29038155的博客 248

元素常见的居中方式

1.行内文字居中,未设置高度,定位,浮动的情况下失效 text-align:center,水平居中 line-height: 行高,垂直居中 2.表格内元素的居中 text-align:center,水平居中 vertical-align:middle,垂直居中 3.元素水平居中,父元素和居中元素设置宽 使用外边距:margin:0 auto;...

侯阮悦的博客 247

【多模态融合】TransFusion学习笔记(1)

工作上主要还是以纯lidar的算法开发,部署以及系统架构设计为主。对于多模态融合(这里主要是只指Lidar和Camer的融合)这方面研究甚少。最近借助和朋友们讨论论文的契机接触了一下这方面的知识,起步是晚了一点,但好歹是开了个头。下面就借助TransFusion论文及其开源代码来串一串这方面的知识。这个很好理解,参考FPointNet网络图示。就是利用现有的2D检测器在图像上提取2D初始框,根据Camera成像原理,捕获2D框视锥内的点云,再利用点云分类模型(如:PointNet)做进一步分类。

4961

SAP_MM/CO模块-超详细的CK11N/CK40N取值逻辑梳理(十几种业务场景,1.76W字)

本文主要讲述的是三个大的知识点,超详细,涉及到知识点比较多,并且串起来讲解,这也是我在网上搜不到相关资料才自己慢慢研究测试出来的,断断续续耗费了我一周多时间,相信只要你们认真看完,肯定会有所收获; 1、CK11N/CK40N成本发布功能中,系统前台的取数逻辑,涉及到多个采购信息记录、生产版本、货源清单、配额协议等对成本价发布的影响~~!! 2、CK11N与CK40N发布的成本价不一致的问题~~!! 3、如何处理外协加工物料的外协价与BOM组件成本取值不匹配的问题~~!!

风沙的博客 4066

元素水平垂直居中的四种常见方式

1.子绝父相定位 + margin: auto 2.子绝父相定位 + margin移动子元素自身高宽一半的值 3.子绝父相定位 + transform 4.flex弹性布局 目录 1.子绝父相定位 + margin: auto 2.子绝父相定位 + margin移动子元素自身高宽一半的值 3.子绝父相定位 + margin移动自身高宽的50% 4.flex弹性布局 1.子绝父相定位 + margin: auto 父盒子设置相对定位,子盒子设置绝对定位,子盒子的上下左右定位值都为0,此时如

当幸福来敲门 1868

机床联网系列总结

总结机床联网专栏,两个好用的工具介绍,以及后续提升的方法和建议。

若云流风的专栏 933

CSS常见的让元素水平居中显示的方法

http://www.365gf.com/knowledge/div/detail_7330.html 用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的

走走停停,停停走走…… 369

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

常见元素水平居中的实现及分析

一、水平居中 对于内联元素: 1、text-align: center text-align属性规定了元素中文本的水平对齐方式,通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式,因此也可以用来实现内联元素的水平居中。 作用元素:文本、行内元素和行内块级元素 优点:简单便捷,兼容性好,所有浏览器都支持text-align属性 缺点:只能作用于行内元素或行内文本;属性会继承,会对后代元...

weixin_44196299的博客 330

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

css元素几种常见的居中方案

css几种常见的元素居中方案 1、已经大小的元素在浏览器可视窗口中水平垂直居中(方法1) 2、未知大小的元素在浏览器可视窗口中水平垂直居中;(方法1) 3、已知大小的元素在父元素中水平垂直居中方法1; 4、未知大小的元素在父元素中水平垂直居中方法1; 5、未知大小的元素在父元素中水平垂直居中方法1; 转载于:https://www.cnblogs.com/liujunhan...

154

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

用transform将元素居中_面试常见CSS布局—嵌套居中

面试常见css布局—嵌套居中01嵌套div元素当两个或两个以上div标签嵌套时,想让内div元素居中,如下名为“son”在“fath”居中:css样式如下:(1)定位.fath {width: 500px;height: 500px;background-color: red;position: relative;}.son {width: 100px;height: 100px;bac...

weixin_39723010的博客 270

CSS常见的让元素水平居中显示方法

用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。   1.使用自动外边距实现居中   CSS中首选的让元素水平居中的方法就是使用margin属性—将元素的margin-left和margin-right属性设置为auto即可。在实际使用中,我们可以为这些需要居中的元素创建一个起容

fyqcdbdx的专栏 555

几种常见的使元素垂直居中的方法

下面简单介绍几种使元素水平垂直的方法 第一种情况:子元素的宽高固定 利用绝对定位 <style> *{ margin:0; padding: 0; } .box-wrap{ position: relative...

lsk222的博客 312

元素垂直居中的常见方法

  <--HTML-->  <div class="box box1"> <div>flex</div> </div> <div class="box box2"> <div>inline-block</div> &...

131

css常见问题:块级元素和行内元素在水平和垂直方向怎样居中呢?

css常见问题:块级元素和行内元素在水平和垂直方向怎样居中呢?

MHui_er的博客 170

CSS样式常见问题:父元素下移,父元素高度塌陷,居中对齐,元素隐藏

CSS样式常见问题:父元素下移,父元素高度塌陷,居中对齐,元素隐藏

weixin_48480995的博客 695

常见的元素水平垂直居中方法

父级设置为相对定位,子级绝对定位 ,并且四个定位属性的值都设置了0,那么这时候如果子级没有设置宽高,则会被拉开到和父级一样宽高。这种方案不要求父元素的高度,也就是即使父元素的高度变化了,仍然可以保持在父元素的垂直居中位置,水平方向上是一样的操作。这里子元素设置了宽高,所以宽高会按照我们的设置来显示,但是实际上子级的虚拟占位已经撑满了整个父级,这时候再给它一个。绝大多数情况下,设置父元素为相对定位, 子元素移动自身50%实现水平垂直居中。负值的替代方案,并不需要知道自身元素的宽高。它就可以上下左右都居中了。

qq_48665028的博客 344

html4水平居中标签,4种常见方式带你实现元素水平垂直居中

我们在进行页面布局时,元素水平垂直居中是必备的布局方式之一,那么下面我们来总结四种我们常见的水平垂直居中的方式,你常常使用哪种呢?html统一代码table-cell布局css代码.out{width: 400px;height: 400px;background-color: pink;display: table-cell;vertical-align: middle;}.inner{widt...

weixin_33232907的博客 696

html元素在网页中垂直居中,css实现元素水平垂直居中常见的两种方式实例详解...

一、父元素的flex布局实现元素的水平垂直居中示例代码如下:Document.parent{display:flex;display:-webkit-flex;justify-content: center;align-items: center;width:100%;height: 200px;background-color: #c43;}.child{width:300px;height:1...

weixin_39878549的博客 130

php中div水平居中,CSS常见的让元素水平居中显示的方法

CSS常见的让元素水平居中显示的方法互联网 发布时间:2009-04-02 19:37:28 作者:佚名 我要评论网页制作Webjx文章简介:用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。用CSS让元素居中显示并不是件很简用CSS让元素居中显示并不是件很简单的事情—同...

weixin_39633493的博客 228
上一篇: 清除浮动
下一篇: HTML DOM Event对象
github_37538357
博客等级 码龄10年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值