子元素水平垂直都居中的实现

在网页布局中,如何实现子元素在水平方向和垂直方向居中,如图所示:
在这里插入图片描述

我知道的有这样的两种方式:
1.使用弹性布局实现
2.使用定位和平移实现
另外还有以下两种常用情况
3.窗口在整个屏幕水平垂直居中,还可以使用绝对定位实现。
4.多行文字垂直居中

1.使用弹性布局实现

在示例中,父元素.father宽度高度是300像素,子元素.son是160像素。关键的3行代码都加了备注。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>弹性布局实现子元素水平垂直都居中</title><style>/* 把父元素设置为弹性布局,设置水平和垂直都居中,其中的子元素就会水平和垂直都居中 */.father{width: 300px;height: 300px;border: 2px solid #0B97EA;margin: 0 auto;display: flex;       /*弹性布局*/justify-content: center;  /*水平居中*/align-items: center;  /*垂直居中*/}.son{width: 160px;height: 160px;background-color: #FFB000;}   </style></head><body><div class="father"><div class='son'></div></div></body>
</html>

2.使用定位和平移实现

在没有弹性布局之前,使用这种方式来实现。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>弹性布局实现水平垂直都居中</title><style>.father {width: 300px;height: 300px;margin: 0 auto;overflow: hidden;position: relative;   /*相对定位*/border: 2px solid #0B97EA;}.son {width: 160px;height: 160px;background-color: #FFB000;position: absolute;  	/* 绝对定位 */top: 50%;   			/* 距离顶端50% */left: 50%;   		/* 距离左侧50% */transform: translate(-50%, -50%);  /* 往左、往上平移自身的50% */}</style></head><body><div class="father"><div class='son'></div></div></body>
</html>

3.窗口在整个屏幕水平垂直居中,还可以使用绝对定位实现。

设置该元素为绝对定位,四个方向距离为0,同时设置margin:auto,可以实现。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>绝对定位实现水平垂直都居中</title><style>.son {width: 160px;height: 160px;background-color: #FFB000;/*以下5行css代码可实现窗口位置水平垂直都居中*/position: absolute;left: 0; right: 0;top: 0;bottom: 0;margin: auto;}</style></head><body><div class='son'></div></body>
</html>

4.多行文字垂直居中

如果是单行文本垂直居中,可以通过给元素的高度height和行高line-height设置相同的值实现。
子盒子中如果有多行文本的话,实现垂直居中,效果如图2所示。
图2
在上图中,主要用到的知识点是:
1.父元素 display: table;
2.子元素display: table-cell;
3.另外子元素还需要使用vertical-align: middle;
完整代码如下。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>文本垂直都居中</title><style type="text/css">.box{width: 1200px;height: 400px;display: flex;justify-content: space-between;margin: 0 auto;      /*	.box水平居中*/overflow: hidden;}.father {display: table; 				/*1设置display为table*/background: #f5f5f5;width: 360px;}.son {width: 160px;display: table-cell;				/*2设置display为table-cell*/vertical-align: middle;  		/*3垂直方向设置为middle*/text-align: center;}</style></head><div class='box'><div class='father'><div class='son'>给父元素div设置display:table,子元素p设置display:table-cell,再加上一个vertical-align:middle,不论内容有多少,不论行高是多少,总之都会整体垂直居中</div></div><div class='father'><div class='son'>子元素p设置display:table-cell,再加上一个vertical-align:middle,不论内容有多少,不论行高是多少,总之都会整体垂直居中</div></div><div class='father'><div class='son'>给父元素div设置display:table,子元素p设置display:table-cell,再加上一个vertical-align:middle,不论内容有多少,不论行高是多少,总之都会整体垂直居中</div></div></div>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react+antd --- 日期选择器,动态生成日期表格表头

先看一下效果---有当前月的日期 技术&#xff1a; 1&#xff1a; react 2&#xff1a;antd-UI库 -- table 3&#xff1a;moment--时间处理库 代码效果&#xff1a; import { Button, DatePicker, Table } from antd; import { useEffect, useState } from react; import momen…

神经网络复习--数学相关基础知识

文章目录 矩阵范数卷积激活函数信息熵 矩阵 标量&#xff1a;一个标量就是一个单独的数向量&#xff1a;一个向量是一列数。这些数是有序排列的。通过次序中的索引&#xff0c;我们可以确定每个单独的数矩阵&#xff1a;矩阵是一个二维数组&#xff0c;其中的每个元素被两个索…

Today At Apple 2024.04.15 Phone15 入门

官网&#xff1a; https://www.apple.com/today/Apple 亚洲第一大商店&#xff1a;Apple 静安零售店现已在上海开幕如下预约课程&#xff1a;下载 Apple Store&#xff08;不是app store&#xff09;&#xff0c;点击课程预约笔记&#xff1a;Today At Apple Notes果粉加群 &am…

再来一波登录页,就这个样被征服了。

设计美观的登录页可以提升用户的第一印象&#xff0c;并增加用户的使用欲望。以下是一些设计美观的登录页的建议&#xff1a; 清晰简洁的布局&#xff1a;使用清晰简洁的布局&#xff0c;将登录表单和其他元素合理地组织在页面上。避免过多的视觉干扰和冗余信息&#xff0c;使…

什么是分库分表

读写分离主要应对的是数据库读并发&#xff0c;没有解决数据库存储问题。试想一下&#xff1a;如果 MySQL 一张表的数据量过大怎么办? 答案当然是分库分表 什么是分库&#xff1f; 分库 就是将数据库中的数据分散到不同的数据库上&#xff0c;可以垂直分库&#xff0c;也可…

对称加密算法在线工具集

上一篇讲到对称加密算法&#xff0c;对称加密的特点是&#xff0c;在加密和解密时使用相同的密钥&#xff0c;或是使用两个可以简单地相互推算的密钥。常见的对称加密算法有 AES、SM4、ChaCha20、3DES、Salsa20、DES、Blowfish、IDEA、RC5、RC6、Camellia。 以下分享对称加密算…

变分自编码器(Variational Autoencoder, VAE)

目录 why VAE&#xff1a; 关于变分自编码器&#xff0c;这篇文章讲的不错 1. 自编码器&#xff08;Autoencoder&#xff09;的基础 2. 引入概率图模型 3. 重参数化技巧 4. 损失函数 5. 应用 变分自编码器&#xff08;Variational Autoencoder, VAE&#xff09; why VAE…

《中国应急管理》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a; 问&#xff1a;《中国应急管理》杂志是核心期刊吗&#xff1f; 答&#xff1a;不是核心期刊&#xff0c;是正规学术期刊 问&#xff1a;《中国应急管理》杂志是电子版期刊吗&#xff1f; 答&#xff1a;不是&#xff0c;是纸质期刊 问&#xff1a;《…

Shell脚本的基础和变量

1.shell脚本基础 1.1 shell的作用 Linux 系统中的 Shell 是一个特殊的应用程序&#xff0c;它介于操作系统内核与用户之间&#xff0c;充当 了一个“命令解释器”的角色&#xff0c;负责接收用户输入的操作指令&#xff08;命令&#xff09;并进行解释&#xff0c;将需要执 行的…

人脸识别技术在访客管理中的应用

访客办理体系&#xff0c;能够使用于政府、戎行、企业、医院、写字楼等众多场所。在办理时&#xff0c;需求对来访人员身份进行精确认证&#xff0c;才能保证来访人员的进入对被访单位不被外来风险入侵。在核实身份时&#xff0c;比较好的方法就是选用人脸辨认技能&#xff0c;…

高性能计算基础

高性能计算基础 CUDA的线程组织结构 CUDA的存储体系结构&#xff0c;每一种存储的优缺点&#xff0c;该如何合理使用。GPU每一代的新特性有了解过吗&#xff1f;应该从哪里去了解详细信息&#xff1f;CUDA stream的概念&#xff0c;为什么要使用多个stream&#xff1f;GPU和…

【原理代码详解】DeepSORT算法:多目标跟踪的深度学习解决方案

一、引言 在视频监控和智能交通系统中&#xff0c;多目标跟踪是一项关键技术&#xff0c;它涉及检测视频中的多个目标&#xff0c;并在视频帧之间维持每个目标的身份。DeepSORT算法作为SORT算法的扩展&#xff0c;通过结合深度学习和传统的跟踪技术&#xff0c;提高了目标跟踪…