高度百分比的时设置文字垂直居中

文字垂直居中

Posted by lisbeth on April 8, 2020

写代码的过程中要时刻注意细节。

常用css的开发人员都知道让单行文字水平居中用text-align:center。垂直方向居中有一个小技巧是让line-height=height,一般用到这个的时候我们的高度都是固定的px值。当高度为百分比的时候,line-height的百分比是相对于font-size的,所以你如果使用line-height居中的话,就必须使用绝对的px值。 当高度为百分比的时候,如何让文字垂直居中呢?我常用的有三种方法,介绍如下:

方法一:

增加一个父元素,给父元素设置display:table,给需要居中的元素设置vertical-align:middle;display:table-cell;

方法二:

给需要居中的元素加以下代码样式和

display:flex;

justify-content:center;

align-items:center; 方法三: 增加一个父元素,父元素高度是百分比,需要被居中的元素高度不要设置,并且设置position:relative/absolute; 然后js中获取到父元素的高度和需要垂直居中元素的高度,即 原生JS document.getElementById(“父元素ID”).clientHeight document.getElementById(“子元素ID”).clientHeight document.getElementById(‘子元素’).style.top = (父元素H - 子元素H) / 2 + “px”;

jQuery $(“#父元素id”).height(); $(“#子元素id”).height(); $(“#子元素id”).css(“top”, (父H - 子H) / 2 + “px”);

**三种方法在不同场景都有一定程度的问题,需根据实际情况确定!

***小技巧tips:

设置高度宽度百分比时,百分比时相对于父元素来确定,承接父元素的百分比,相对于浏览器屏幕大小时,必须给html,body设置显性百分比100%