Day1:垂直水平居中方式(至少6种,必须包含弹性盒子)

news2024/12/23 6:57:28

目录

垂直水平居中方式

方式1:弹f性盒子(1)  (推荐)

 方式2:弹性盒子(2)  (推荐)

方式3:弹性盒子(3)

方式4:grid布局(1) (推荐)

方式5:grid布局(2)

方式6:通过父相子绝,子元素设置绝对定位,父元素设置相对定位。   定位+margin (推荐)

方式7:绝对定位+transform属性  (推荐)

方式8:绝对定位+calc()函数  宽高要固定   (推荐)

 

方式8:table-cell 表格单元  只对(行内块元素有效)

方式9:单行文本居中


垂直水平居中方式

公共样式:

        .far{
            width: 400px;
            height: 400px;
            background-color: skyblue;
        }
        .son{
            width:100px ;
            height: 100px;
            background-color: pink;
        }
    <div class="far allCenter">
        <div class="son allCenterChild"></div>
    </div>

方式1:弹f性盒子(1)  (推荐)

.farCenter{
            /* 设置为弹性盒子 */
            display: flex;
            /* 水平居中 */
            justify-content: center;
            /* 垂直居中 */
            align-items:center;
        }
.childCenter{

        }

 方式2:弹性盒子(2)  (推荐)

 .farCenter{
            /* 设置为弹性盒子 */
            display: flex;
        }
.childCenter{
            /* margin:auto auto auto auto; */
            margin: auto;
        }

方式3:弹性盒子(3)

利用子元素的align-self:center , 如果父元素设置了  align-items:center;就会覆盖掉。

        .farCenter{
            /* 设置为弹性盒子 */
            display: flex;
        }
        .childCenter{
            /* 子元素垂直居中 */
            align-self: center;
            /* 子元素水平居中 */
            margin: 0 auto;
        }

方式4:grid布局(1) (推荐)

        .farCenter{
            display: grid;
        }
        .childCenter{
            margin:auto;
        }

方式5:grid布局(2)

        .farCenter{
            display: grid;
        }
        .childCenter{
            /* 水平居中 */
            justify-self: center;
            /* 垂直居中 */
            align-self: center;
        }

方式6:通过父相子绝,子元素设置绝对定位,父元素设置相对定位。   定位+margin (推荐)

        .farCenter{
            /* 所有定位都是基于父亲的 */
            position: relative;
        }
        .childCenter{
            /* 绝对定位会脱离文档流 */
            position:absolute;
            left:0;
            right:0;
            top:0;
            bottom:0;
            margin:auto;
        }

原理: 

 

具体原理去到这个链接:

绝对定位元素left、right、top、bottom值与其margin和宽高的关系 - 请叫我二狗哥 - 博客园 (cnblogs.com)

方式7:绝对定位+transform属性  (推荐)

       .farCenter{
            /* 所有定位都是基于父亲的 */
            position: relative;
        }
        .childCenter{
            /* 绝对定位会脱离文档流 */
            position:absolute;
            /* 向右移动相对于父元素宽度的50% */
            left:50%;
            /* 向下移动相对于父元素高度的50%*/
            top:50%;
            /* 移动  子元素相对于自身的宽度高度往左和往上移动50%*/
            transform: translate(-50%,-50%);
        }

方式8:绝对定位+calc()函数  宽高要固定   (推荐)

        .farCenter {
            position: relative;
        }

        .childCenter {
           position: absolute;
           /* 50%是相对于父元素宽度的50%,50px是子元素本身宽度的一半 */
           /* 如果不减去50px的话,元素整体会偏下,不会居中 */
           top:calc(50% - 50px);
           left:calc(50% - 50px);
        }

 

方式8:table-cell 表格单元  只对(行内块元素有效)

所以子元素要设置为行内块模式。

       .farCenter{
            /* 表格单元 */
            display: table-cell;
            /* 垂直居中 */
            vertical-align: middle;
            /* 水平居中 */
            text-align:center;
        }
        .childCenter{
            display: inline-block;
        }

方式9:单行文本居中

 .online{
       width: 600px; 
       height: 100px;
       background-color: pink;
       /* 水平居中 */
       text-align: center;
       /* 垂直居中 */
       line-height: 100px;
    }
<div class="online">单行文本垂直居中</div>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vs2019 编译调试 QT Creator 源码

vs2019 编译调试 QT Creator 源码 开始使用Qt Creator 5.15.2 调试编译 Qt Creator 6.0.2源码&#xff0c;对源码进行了 裁剪&#xff0c;将一些暂时用不到的文件删除&#xff0c;比如plugins里面的绝大部分文件。然后使用vs2019打开工程&#xff0c;进行编译调试。下面对这个…

IDEA2022插件:EasyCode一键生成增删改查代码

IDEA2022插件&#xff1a;EasyCode一键生成增删改查代码 文章目录IDEA2022插件&#xff1a;EasyCode一键生成增删改查代码建表下载插件IDEA连接数据源引入必要依赖配置SpringBoot数据库连接使用EasyCode生成代码生成效果启动测试小错误接口测试自行配置更好用尾述结语建表 新建…

【案例源码公开】国产AD+全志T3开发案例,为能源电力行业排忧解难!8/16通道

前 言 本文主要介绍基于全志科技T3(ARM Cortex-A7)国产处理器的8/16通道AD采集开发案例,使用核芯互联CL1606/CL1616国产AD芯片,亦适用于ADI AD7606/AD7616。CL1606/CL1616与AD7606/AD7616软硬件兼容。 备注: (1)创龙科技TL7606I模块使用AD芯片为核芯互联CL1606或ADI AD…

【C语言】初始C语言系列 代码详解 _ 编程入门 _【内附代码和图片】_ [初阶篇 _ 总结复习]

【前言】 本篇文章为初始C语言部分&#xff0c;C语言是编程的入门语言&#xff0c;所以也说是编程入门&#xff1b; 学好C语言的入门内容&#xff0c;才能真正的入门编程&#xff0c;而C语言的学习对于刚入门的同学还是有一些难度的&#xff0c;需要踏踏实实的自己去理解。 在此…

REDIS篇(4)——命令执行过程(readQueryFromClient)

前面讲过&#xff0c;ae循环在收到客户端请求时&#xff0c;会调用请求处理器——acceptTcpHandler &#xff0c;而请求处理器会创建新的套接字并监听和绑定命令处理器——readQueryFromClient。本篇着重分析命令的执行过程。 大概可分为&#xff1a; 1、读取并分析套接口中协…

QT学习_06_UI设计

1 创建项目 前5篇的学习笔记都没有用到ui&#xff0c;从现在开始&#xff0c;就要用这个ui了 创建项目的时候&#xff0c;把这个Generate form√上 项目文件中&#xff0c;就多了mainwindow.ui 2 ui设计界面的介绍 双击这个.ui文件&#xff0c;就可以进入设计界面 下面简单的…

字节跳动内推软件测试【自动化测试】岗,最低年薪50W+

目录 字节跳动内推 测试开发工程师技能成长路径 字节跳动内推 今年大环境不好&#xff0c;内卷的厉害&#xff0c;薪资待遇好的工作机会更是难得。最近脉脉职言区有一条讨论火了&#xff1a; 哪家互联网公司薪资最‘厉害’&#xff1f; 下面的评论多为字节跳动&#xff0c;还炸…

JAVA计算机毕业设计网约车管理系统(附源码、数据库)

JAVA计算机毕业设计网约车管理系统&#xff08;附源码、数据库&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

毕业设计源码-计算机毕业设计源码

2022年09月 09/28文件文档在线预览解决方案09/22商城系统09/22知识分享与团队协同软件09/22共享充电桩小程序09/22共享雨伞租借系统09/22小程序博客09/22共享充电宝小程序09/22美容美发小程序09/22民宿小程序09/22兼职小程序09/22相亲小程序09/22贴身管家小程序09/22扫码点餐小…

Spring IOC 核心流程介绍

前言 接下来我们编写入口代码&#xff0c;跟代码梳理一下Spring IOC一些重要的方法节点。IOC有12个比较重要的方法&#xff0c;把这12个方法学习一下&#xff0c;整个Spring IOC基本就差不多了。 编写Spring IOC入口 1、创建需要被管理的类 接口类&#xff1a; package se…

蜜罐技术二三事

目录 1. 蜜罐技术介绍 1.1 蜜罐技术是什么 1.2 蜜罐分类 2. 使用蜜罐技术获取信息 2.1 初始化项目 2.2 读取 PFRO.log 文件 2.2.1 PFRO.log 作用及位置 2.2.2 使用 fs 读取 PFRO.log 文件 2.2.3 关于 buffer 与字符编码&#xff08;扩展&#xff09; 2.3 使用 正则表…

美国FBA海运有哪几种渠道

美国FBA海运有两种渠道&#xff0c;下面具体来看下这两种渠道&#xff1a; 一、Matson美森(CLX/CCX/CLX) 1、CLX美森限时达。时效性&#xff1a;开船后12-18天内交UPS配送(通常在13-15天); 2、CCX美森正班船。时效性&#xff1a;开船后16-22天内交UPS配送(通常在18-20天); 3、C…

基于改进PSO-ABC算法的机器人路径规划(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 系统试图借助人工蜂群针对粒子群算法和蜂群算法在寻优中存在的一些早熟和收敛速精度不高等问题,本文分别对粒子算法和蜂群算法…

MySQL是怎么保证数据不丢失的

一.什么是两阶段提交 1.SQL语句&#xff08;update user set name‘李四’ where id3&#xff09;的执行流程是怎样的呢&#xff1f; 1.执行器先找引擎取 ID3这一行。ID 是主键&#xff0c;引擎直接用树搜索找到这一行。 2.如果 ID3 这一行所在的数据页本来就在内存中&#x…

Android 开发学习(三)

文章目录1. ListView 的 使用2. RecyclerView 的 使用 (推荐)3. 动画3.1 逐帧动画3.2 补间动画3.2.1 补间动画 之 alpha透明度3.2.2 补间动画 之 rotate旋转3.2.3 补间动画 之 scale(缩放)3.2.3 补间动画 之 translate(平移)3.3 属性动画4. 单位 和 尺寸5. ViewPager 的使用6. …

程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~

人生苦短&#xff0c;我用Python序言实现步骤1、准备工作2、Pillow 介绍3、实战演练序言 这不光棍节快到了&#xff0c;表弟准备写一封情书给他的女神&#xff0c;想在光棍节之前脱单。 为了提高成功率&#xff0c;于是跑来找我给他参谋参谋&#xff0c;本来我是不想理他的&am…

无刷电机控制基础(3)——FOC矢量控制入门

本节我们讲一些无刷电机FOC矢量控制的入门知识。 1&#xff09;FOC矢量控制的作用 我们前两节讲的无刷电机&#xff08;BLDC&#xff09;&#xff0c;是最简单的结构&#xff0c;当转子匀速转动时&#xff0c;定子内产生的反电动势是梯形波&#xff1b;在驱动无刷电机转动时&a…

【大二Web课程设计】基于HTML+CSS技术制作抗疫感动专题网页设计

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Vue2 带纵向合并的原生表格实现切割侧栏分页

文章目录前言一、目标效果二、失败方案三、正确方案四、解决正确方案中的一个Bug总结前言 前端表格分页. 带纵向合并的表格, 到达固定行数强制分页, 截断本页纵向合并, 在下页展示该纵向列的剩余部分, 代码多为前端数据处理, 所以仅提供思路. 这并不难, 你可以直接看第三节. 一…

嵌入式系统-开关机测试笔记

在嵌入式系统中,产品在出厂前需要对开发板的开关机进行测试,用于验证产品在大量次数的开关机过程中是否出现异常.实现方法如下: 1.电源准备 我们不可能完全人工操作,太耽误时间和效率.在这里我选用了一款稳压源GW INSTEK GPD 3303这款产品支持串口编程控制,花了一些时间编写了…