快捷搜索:  汽车  科技

web前端中怎么把文字居中(父元素高度百分比时文字如何垂直居中)

web前端中怎么把文字居中(父元素高度百分比时文字如何垂直居中)给需要居中的元素加以下代码样式和display:flex;justify-content:center;align-items:center;方法二:那么如何解决呢?看以下方法。方法一:增加一个父元素 给父元素设置display:table 给需要居中的元素设置vertical-align:middle;display:table-cell;

web前端中怎么把文字居中(父元素高度百分比时文字如何垂直居中)(1)

常用css的开发人员都知道,让单行文字水平居中用text-align:center,垂直方向居中有一个小技巧是让line-height=height 一般用到这个的时候我们的高度都是固定的px值 但今天我们设置高度为百分比时 也想让文字垂直居中 于是有了下面这段代码。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> html body{ margin: 0; height: 100%; } #container{ width: 100%; height: 100%; background: #888888; } #content{ width: 50%; height: 50%; font-size: 100px; text-align: center; background: #0000ff; } </style> </head> <body> <div id="container"> <div id="content"> HELLO WORLD </div> </div> </body> </html>

此时没有设置任何让它垂直居中的样式 运行如下

web前端中怎么把文字居中(父元素高度百分比时文字如何垂直居中)(2)

然后利用line-height:50% 看看发生什么。

web前端中怎么把文字居中(父元素高度百分比时文字如何垂直居中)(3)

看上面效果,其实并不是我截图截丢了一块 然后发现字体向上移了一部分 原因是line-height的百分比是相对于font-size的 所以你如果使用line-height居中的话 就必须使用绝对的px值。

那么如何解决呢?看以下方法。

方法一:

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

方法二:

给需要居中的元素加以下代码样式和display:flex;justify-content:center;align-items:center;

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

小技巧tips:

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

不知大家在开发中是如何解决的呢?或者有更好的方法,欢迎大家留言讨论。

猜您喜欢: