html中让文字垂直居中(html文本高度居中)

html中让文字垂直居中(html文本高度居中)

常用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 >
 <div >
 HELLO WORLD
 </div>
</div>
</body>
</html>

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

html中让文字垂直居中(html文本高度居中)

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

html中让文字垂直居中(html文本高度居中)

看上面效果,其实并不是我截图截丢了一块,然后发现字体向上移了一部分,原因是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%。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论