我现在已经苦苦挣扎了这么多小时,但仍然找不到解决方案。我制作了这个漂亮的网格,可以根据文本长度和浏览器大小进行调整。现在的问题是我无法让文本位于框的中间。
我已经尝试了所有方法..我使用了几个属性来实现这个但没有任何效果。
text-align: center;
vertical-align: middle;
line-height: "same as div";
CSS代码:
.parent {
text-align:center;
margin:0px;
width:100%;
padding:0px;
font-size:18px;
color:#000;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.child {
padding:18px 25px;
background: rgba(0, 0, 0, .5);
list-style-type:none;
width:inherit;
margin:5px;
}
最佳答案
这是你想要的吗?
.parent {
text-align:center;
margin:0px;
width:100%;
padding:0px;
font-size:18px;
color:#000;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
vertical-align: middle;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.child {
position: relative;
background: rgba(0, 0, 0, .5);
padding:10px;
list-style-type:none;
width:inherit;
align-items: center;
justify-content: center;
height:inherit;
display: inline-flex;
vertical-align: middle;
margin:5px;
}
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="parent">
<div class="child"><span>sometext</span></div>
<div class="child">somemoretext somemoretext</div>
<div class="child">sometext</div>
<div class="child">sometext</div>
</div>
<div class="parent">
<div class="child">somemoretext somemoretext somemoretext somemoretext</div>
<div class="child">sometext</div>
</div>
</body>
</html>
这是用 flex 作为你的 jsfiddle 完成的。您也可以通过“父显示表格和垂直居中对齐”和“子显示表格单元格和范中间”删除您的 flex 样式来更轻松地做到这一点。
关于html - 如何在中间(垂直)对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34346435/