h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法

flex垂直居中

第一种:使用flex布局,让居中元素的父元素为flex属性,让它在交叉轴上center就可以达到居中效果了:

 html代码:
<div class="father"><p>我要垂直居中</p>   </div>css代码:
.father {display:flex;align-items: center;background:grey;height:100vh;
}

flex水平垂直居中:

 html代码:
<div class="father"><p>我要垂直居中</p>   </div>css代码:
.father {display:flex;align-items: center;   //交叉轴justify-content:center;  //主线background:grey;height:100vh;
}

第二种:使用position + transform,实现垂直居中

.father {background:grey;height:100vh;position: relative;
}p{position: absolute;top:50%;   //50%并不是居中的,因为它是以元素的上border为标准移动50%的transform:translateY(-50%)  //所以我们需要像上移动元素自身高度一半儿的距离
}

使用position + transform,实现水平垂直居中

.father {background:grey;height:100vh;position: relative;
}p{position: absolute;left:50%;top:50%;transform:translate(-50%,-50%)
}

第三种:让文字垂直居中

p{background-color:red;height:30px;line-height:30px;
}

设置的高度和行高一样即可达到水平居中;

p{background-color:red;padding:30px 0;
}

不要设置高度(一定不要),使用内边距改变元素的宽度同时让文字达到居中效果

第4种:使用position + calc,实现垂直居中和水平垂直居中:

.father {background:grey;height:100vh;  position: relative;
}p{background-color:red;position: absolute;width:100px;height:50px;top:calc(50% - 25px)
}

和上面position + transform类似,只不过css3提供了calc这个属性可以直接计算距离

但是一定要给元素定上宽高,这样我们在计算时就比较好计算,下面是水平垂直居中:

.father {background:grey;height:100vh;  position: relative;
}p{background-color:red;position: absolute;width:100px;height:50px;top:calc(50% - 25px);left:calc(50% - 50px)
}

第5种:使用绝对定位 + margin来实现垂直居中:

.father {background:grey;height:100vh; position: relative;
}p{width:100px;height:100px;background-color:red;position: absolute;top:0;bottom:0;margin:auto;
}

一定要定宽高;这样这样我们在margin:auto时宽高才不会被因为脱离文档流而导致拉伸到和父元素一样大;

同样我们使用这样的方法达到垂直水平居中;

.father {background:grey;height:100vh; position: relative;
}p{width:100px;height:100px;background-color:red;position: absolute;top:0;bottom:0;left:0right:0;margin:auto;
}

绝对定位后同时让元素4面都为0;然后使用margin:auto;即可达到水平垂直剧中的效果;

第六种,display: table-cell 实现多行文字垂直居中

<div class="father"><div class="son">我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中</div></div>//CSS代码
.father {display: table-cell;vertical-align: middle;height: 100vh;background: grey;}.son {width: 200px;
}

在我们CSS布局的过程中经常遇到多行文字需要居中的问题;这时我们就可以使用,单元格的形式,让文字居中,注意, vertical-align: middle;要写在设置了单元格的元素上才行;

bdd9541391f9bb6196c24f42ad15553d.png

第7种,使用vertical-align,实现垂直居中以及元素的对齐

vertical-align这个属性要求元素必须是inline或者inline-block元素才行;经常会遇到使用该属性没有效果,一般因为元素的性质发生了变化;例如元素为block,浮动,绝对定位等原因导致的。

  <div class="father"><div class="son">我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,我要垂直居中我是多行文字,</div><img src="https://cdn2.ettoday.net/images/4031/d4031158.jpg" width=200></div>.father {background: grey;
}.son {width: 200px;display: inline-block;border: red 1px solid; 
}img {border: green 1px solid; 
}

2d0021ae1251572019eb9b71ee270cfe.png

首先我们可以看到容器里有两个inline-block元素,但是可以看到文字并没有和图片顶部对齐,而且可以看到,图片的下方是有一块留白的;这是为啥呢? 因为所有的inline 和 inline-block元素都自带了vertical-align属性,默认是base-line对齐,而且是以文字流的 base-line对齐,因为文字的基线比图片低,所以图片为了强行对齐导致了下面的空白,这里解决办法有两种,第一个改变对齐方式,第二个,因为行高和vertical-align是一对好基友,行高设置为0也是可以解决该问题,前提是有自身高度,不然文字缩成一行

.father {background: grey;
}.son {width: 200px;display: inline-block;border: red 1px solid; vertical-align: middle;
}img {border: green 1px solid;vertical-align: middle;
}

fe1a3c229ad77595281303a2fddca1f6.png

这样可以让文字近似垂直居中,因为是近似,一般不建议直接middle, 使用vertical-align: top;加margin-top的形式会让我们不出现bug

.father {background: grey;
}.son {width: 200px;display: inline-block;border: red 1px solid; vertical-align: top;margin-top: 25px;
}img {border: green 1px solid;vertical-align: top;
}

当然还有很多办法可以达到居中效果,但都大同小异,这里就不一一列举了,这里最推荐的还是使用flex布局达到的居中效果,兼容性最好,如果能学会flex布局,基本上大部分布局问题都可以解决了。

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

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

相关文章

ListMap排序

//compareto就是比较两个数据的大小关系 大于0表示前一个数据比后一个数据大&#xff0c; 0表示相等&#xff0c;小于0表示第一个数据小于第二个数据 public static List<Map<String, String>> sortWifi(List<Map<String, String>> wifiList){if(wif…

thinkphp回调的php调用db类,请问thinkphp中model类自动完成功能 回调函数能不能获取其他字段的值?...

http://www.thinkphp.cn/api/source-class-Model.html#975protected function _validationFieldItem($data,$val) {switch(strtolower(trim($val[4]))) {case function:// 使用函数进行验证case callback:// 调用方法进行验证$args isset($val[6])?(array)$val[6]:array();if…

输入年份和月份输出该月有多少天python_Python实现用户输入年月日,程序打印出这是这一年的第多少天...

1. 自己造轮子yearint(input(请输入年份&#xff0c;如2019>>>))monthint(input(请输入月份&#xff0c;如8>>>))dayint(input(请输入日期,如25>>>))#下面这块代码是按照闰年计算if (year%40 and year%100!0) or (year%4000):calendar{1:31,2:29,3:…

Linux命令之find命令中的-mtime参数

有关find -mtime这个参数的使用有比较多的坑&#xff0c;今天把这个问题在这里记录下来&#xff1a; mtime参数的理解应该如下&#xff1a; -mtime n 按照文件的更改时间来找文件&#xff0c;n为整数。 n 表示文件更改时间距离为n天-n 表示文件更改时间距离在n天以内n 表示文件…

WifiManager的getScanResults()返回列表为0

这个问题查了好久&#xff0c;花了2个小时。就是出不来。 原来问题在android sdk 版本问题。 在android 6.0的时候&#xff0c;返回为空&#xff0c;且不为null&#xff0c;在华为mate&#xff0c;6.0手机上测试&#xff0c;也不报错。 官网和网上没有具体的解决方法。 后来…

c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...

事先说明&#xff1a;笔者初三&#xff0c;如在叙述中有不严谨的地方&#xff0c;还请诸位指出&#xff0c;自当感激不尽。一.什么是斜坐标系众所周知&#xff0c;我们目前平面中使用相当广的坐标系是笛卡尔发明的平面直角坐标系。然而&#xff0c;笛卡尔真的只使用了这一种坐标…

php 字节转为kb,PHP获取文件大小并转化为KB、MB、GB单位

PHP获取文件大小并转化为KB、MB、GB单位。function getSize($filesize) {if ($filesize > 1073741824) {$filesize round($filesize / 1073741824 * 100) / 100 . GB;} elseif ($filesize > 1048576) {$filesize round($filesize / 1048576 * 100) / 100 . MB;} else…

python 重定向stdout_Python 犄角旮旯--重定向 stdout

What&#xff1f;在 Python 程序中&#xff0c;使用 print 输出调试信息的做法非常常见&#xff0c;但有的时候我们需要将 print 的内容改写到其他位置&#xff0c;比如一个文件中&#xff0c;便于随时排查。但是又不希望大面积替换 print 函数&#xff0c;这就需要一些技巧实现…

Jetty实战之 安装 运行 部署

原文地址&#xff1a;http://blog.csdn.net/kongxx/article/details/7218767 1. 首先从Jetty的官方网站http://wiki.eclipse.org/Jetty/Starting/Downloads下载最新的Jetty&#xff0c;上面有两个版本7.x和8.x&#xff0c;7.x是运行在JDK5及以上版本&#xff0c;8.x是运行在JD…

一行命令从 APK 文件中提取 Endpoint 及 URL

做IoT的人免不了要接触Android&#xff0c;接触Android的人又免不了要研究别人的App应用。 Diggy&#xff0c;一款能够从 apk 文件中提取 endpoint 及 URL 的工具&#xff0c;只要一行命令就可以帮大家提取出相关Android apk文件的安装信息和互联网访问信息。 下载地址&#xf…

antd 获取table选中行数据_element-ui 组件el-table默认选中行setCurrentRow采坑记

1.背景选中表格中某一行&#xff0c;高亮显示&#xff0c;table表格数据变化后&#xff08;删除某几条数据&#xff0c;不包括选中的删除&#xff09;&#xff0c; this.$refs.multipleTable.setCurrentRow(row),选中之前选中的行&#xff0c;可发现总是选中下一条的数据&#…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

贪吃蛇程序 php,微信小程序-贪吃蛇教程实例

很久很久以前&#xff0c;差不多大半年前吧&#xff0c;笔者发布了一篇关于OC版贪食蛇开发的文章&#xff0c;时隔多月&#xff0c;微信小程序横空出世&#xff0c;于是闲来无事的我又写了一个小程序版下面这段话请务必阅读笔者是做iOS的&#xff0c;而小程序大部分都是前端的知…

python遥感数据有偿处理_利用python读写tiff遥感影像数据

from osgeo import gdal# 读图像文件def read_img(filename):dataset gdal.Open(filename) # 打开文件im_width dataset.RasterXSize # 栅格矩阵的列数im_height dataset.RasterYSize # 栅格矩阵的行数im_geotrans dataset.GetGeoTransform() # 仿射矩阵im_proj dataset.G…

Tomcat启动时自动加载Servlet

转自&#xff1a;http://zhaoyongpan.blog.51cto.com/2714930/676239 想实现这样的功能&#xff1a; 1. Tomcat启动时随即启动Servlet; 2. Servlet启动时定时执行一个任务。 要点&#xff1a; 1、Tomcat中启动Servlet时&#xff0c;只需要在Servlet所在的工程的配置文件web…

internal java compiler error_Java异常处理总结

背景 最近专门负责团队的项目质量。我在治理异常日志过程中&#xff0c;总结了一下Java的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看&#xff0c;地图从左到右的连线连接的类之间有实实在在的父…

java异步刷新集合,同步和异步集合的性能测试,异步集合性能测试,package cn.o

同步和异步集合的性能测试&#xff0c;异步集合性能测试,package cn.opackage cn.outofmemory.snippets.core;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Vector;import java.util.concurrent.TimeUnit;public class Co…

cuda nvcc版本不一致_windows 验证CUDA和CUDNN是否安装成功

安装完成CUDA&#xff0c;使用 nvcc -V 验证是否安装成功&#xff0c;看到如下信息说明安装成功接下来就可以安装 cuDNN 了。安装cuDNN下载 cuDNN&#xff0c;下载之前需要先注册一下 Nvidia 的账号&#xff0c;下载地址为&#xff1a;https://developer.nvidia.com/rdp/cudnn-…

Nova Cell

Nova Cell V2 详解 现在 &#xff0c;OpenStack 在控制平面上的性能瓶颈主要在 Message Queue 和 Database 。 尤其是 Message Queue , 随着计算节点的增加 &#xff0c; 性能变的越来越差 。 为了应对这种情况 &#xff0c; Nova 很早之前提出来 nova-cell ( 以下以 cellv1 代…

Android 通过WIFI状态监听广播,判断进入指定wifi范围

原文地址&#xff1a;http://blog.csdn.net/kongxiuqi/article/details/52524500 --------------------------------------------- WIFI状态变化会发送广播&#xff0c;一些可用的广播在WifiManger.java中可以看到。 广播一&#xff1a;WIFI 状态开关变化的监听&#xff0c;en…