首页 > 其他分享 >水平和垂直居中的几种方式

水平和垂直居中的几种方式

时间:2022-11-07 12:55:13浏览次数:23  
标签:居中 center top 50% 几种 垂直 margin align

行内元素实现水平垂直居中:

text-align: center;(text-align: center只能实现文本的垂直居中)

line-height: 50px;(line-height不能实现多行文本的垂直居中)

padding:50px;(不固定高度的垂直居中 通过设置padding实现)

使用display设置为table,配合样式vertical-align设置为middle来实现(基线对齐),如下:

父元素{

display:table;

}

子元素{

display:table-cell;

vertical-align:middle;

}

块级元素实现水平垂直居中:

第一种方式:使用弹性盒模型实现水平垂直居中

display: flex;

justify-content: center;

align-items: center;

第二种方式:采取绝对定位配合margin的方式实现(这种方式有缺陷 需要知道固定的宽度和高度才行)

position: absolute;

left:50%;

top:50%;

margin-left: -50px;(高度设置了100px,margin-left就是宽度的一半)

margin-top: -50px;(宽度也设置了100px,margin-top就是高度的一半)

第三种方式:可以采取借助css3的变形属性transform来实现的方式实现

position: absolute;

left:50%;

top:50%;

transform: translate(-50%,50%);(在当前位置偏移自身宽高的一半)

第四种方式:需要盒子有宽高,但是不需要去计算偏移盒子的宽高

position: absolute;

left:0;

top:0;

right:0;

bottom:0;

margin:auto;

height:100px;

width:100px;
第五种方式:grid(网格布局)

给父级设置:display:grid;

给子元素设置:alig-self:center;

justify-self:center

第六种方法:absolute + calc(计算)

这种方法top的百分比是基于元素的左上角,那么再减去高度和宽度的一半就好

calc:CSS3新增的,任何长度值都可以通过calc()函数进行计算

标签:居中,center,top,50%,几种,垂直,margin,align
From: https://www.cnblogs.com/ltwlh/p/16865550.html

相关文章

  • 拓端数据tecdat|R语言时间序列平稳性几种单位根检验(ADF,KPSS,PP)及比较分析
     时间序列模型根据研究对象是否随机分为确定性模型和随机性模型两大类。随机时间序列模型即是指仅用它的过去值及随机扰动项所建立起来的模型,建立具体的模型,需解决如下三......
  • Android 自定义TextView实现文字和图片居中显示
    默认情况下,如果TextView的宽度超过文字的宽度,文字居中显示时,想要在文字的左边或者右边添加一个图片时,左边或者右边的文字就会默认以左边和右边开始排列,效果如下。如果想要......
  • 几种对齐方式
    基线对齐(vertical-align:baseline)使元素的基线同基准元素(取行高最高的作为基准)的基线对齐顶端对齐(vertical-align:top)是将元素的行内框的顶端与行框的顶端对齐底端对齐......
  • 【100个 Unity实用技能】| C# 中 Sort() 对List中的数据排序的几种方法 整理总结
    Unity小科普老规矩,先介绍一下Unity的科普小知识:Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意......
  • 声明Spring Bean和注入Bean的几种常用注解和区别
    Spring声明Bean的注解: @Component:组件,没有明确的角色。 @Service:在业务逻辑层(Service层)使用。@Repository: 再数据访问层(Dao层)使用。@Controller:再展现层(MVC->Sprin......
  • Spring Bean 的注册和注入的几种常用方式和区别
    Spring注册Bean:包扫描+组件标注注解(@Controller、@Service、@Repository、@Component),一般项目里面使用。使用@Bean注解,一般导入第三方组件的时候使用。使用@Import注解,一......
  • 迭代器失效的几种情况
    关于迭代器失效,,今天做一个总结。迭代器失效分三种情况考虑,也是三种数据结构考虑,分别为数组型,链表型,树型数据结构。1、对于序列式容器,比如vector,删除当前的iterator会使后面......
  • 多维数组扁平化处理的几种方法
    方法一、字符串化+数组化functionflatten(arr){letcount=0;returnarr.toString().split(',').map(function(item){ returnNumber(item)})}fl......
  • vue跳转页面常用的几种方法
    vue跳转页面有好几种不同方法,下面将通过实例代码给大家介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。1、router-link跳转1.不带参数<router-lin......
  • 执行shell脚本时,几种方式的区别。
    执行shell脚本文件时,一定是sourcestart_py.sh不能是bashstart_py.sh也不能是shstart_py.sh还不能是./start_py.sh其区别在于,source启动的shell脚本,是在父进程中......