博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
垂直水平居中的方式总结 +(使用场景)
阅读量:6531 次
发布时间:2019-06-24

本文共 2060 字,大约阅读时间需要 6 分钟。

以前前端面试基础问题的时候经常会被问到这个问题:

但是从来没有做过这样的总结,网上很多人总结的很多,很好。自己干了这么多年,这个问题使用场景还是蛮多的,还是自己总结一下吧(不断更新)

1。绝对定位居中

width: 100px;          height: 100px;          padding: 20px;          position: absolute;          top: 50%; left: 50%;          margin-left: -60px; /* (width + padding)/2 */          margin-top: -60px; /* (height + padding)/2 */

使用场景:Modal弹层, Toast, 布局内容提示单行提示文字

优点:1.适用场景多。2.不用care了父级元素的大小。3.兼容ie6-7
缺点:1.子元素的宽高需固定。2.内容无法撑开父级容器

2.transform绝对定位

width: 50%;    margin: auto;    position: absolute;    top: 50%; left: 50%;    -webkit-transform: translate(-50%,-50%);        -ms-transform: translate(-50%,-50%);            transform: translate(-50%,-50%);

使用场景:不用兼容IE9以下的Modal弹层,弹层的宽高均不固定

优点:1.适用场景多。2.内容宽高,容器宽高均不用care
缺点:1.不兼容IE9以下。2.内容无法撑开父级容器

3.margin+绝对定位

margin: auto;      position: absolute;      top: 0; left: 0; bottom: 0; right: 0;

使用场景:Modal弹层, Toast, 布局内容提示单行提示文字

优点:1.适用场景多。2.内容宽高,容器宽高均不用care。3.兼容性好
缺点:1.父级容器必须声明高度。2.内容无法撑开父级容器

4.表格容器居中

display: table-cell;    vertical-align: middle;  text-align: center;

使用场景:容器内容居中,并不想脱离文档流。(具体场景想不起来啦)

优点:1.内容溢出会将父元素撑开。2.内容宽高,容器宽高均不用care。3兼容IE9以下。
缺点:1.不适用于Modal弹层这种盖住页面内容的布局

5.使用line-height和text-align垂直居中

text-align: center;    height: 100px;     line-height: 100px;/*值等于元素高度的值*/

使用场景:一个容器内部的当韩文字居中

优点:1.内容宽高,容器宽高均不用care。 2. 兼容性好
缺点:1.内容必须是inline或者inline-block的单行文本,不支持多行文本。

6.Flex布局

display: -webkit-box;   /* OLD: Safari,  iOS, Android browser, older             WebKit browsers.  */   display: -moz-box;      /* OLD: Firefox (buggy) */   display: -ms-flexbox;   /* MID: IE 10 */   display: -webkit-flex;  /* NEW, Chrome 21–28, Safari 6.1+ */   display: flex;          /* NEW: IE11, Chrome 29+, Opera 12.1+, Firefox 22+ */   -webkit-box-align: center; -moz-box-align: center; /* OLD… */   -ms-flex-align: center; /* You know the drill now… */   -webkit-align-items: center;   align-items: center;   -webkit-box-pack: center; -moz-box-pack: center;   -ms-flex-pack: center;   -webkit-justify-content: center;   justify-content: center;

使用场景:微信小程序和一些不需要兼容IE的移动端H5开发

优点:1.内容宽高,容器宽高均不用care。
缺点:1.不兼容IE10以下的浏览器

转载地址:http://pwhbo.baihongyu.com/

你可能感兴趣的文章
vuex前端工程化之动态导入文件--require.context( )
查看>>
App运营和推广同样重要
查看>>
全国省市数据库
查看>>
左右法则 来解析指针问题
查看>>
percona xtradb clusterl配置+使用(不定时更新)
查看>>
win10安装
查看>>
一维数组与二维数组的拼接与二维数组增加行
查看>>
Excel导入数据库
查看>>
数据挖掘的数据集资源 --转载
查看>>
JavaScript学习——内置属性
查看>>
Safari 11.0 已发布,新特性都在这儿了!
查看>>
spark 作业提交(架构层面)
查看>>
基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
查看>>
RMAN概述及其体系结构
查看>>
Shell运算符
查看>>
流程的一些规划
查看>>
mybatis
查看>>
HBase JavaAPI
查看>>
神奇的Invsqrt函数
查看>>
【转载】休眠状态和墓碑状态
查看>>