html - 如何在中间(垂直)对齐文本

标签 html css alignment vertical-alignment

我现在已经苦苦挣扎了这么多小时,但仍然找不到解决方案。我制作了这个漂亮的网格,可以根据文本长度和浏览器大小进行调整。现在的问题是我无法让文本位于框的中间。

我已经尝试了所有方法..我使用了几个属性来实现这个但没有任何效果。

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/

相关文章:

css - div 的背景图像未显示

javascript - jQuery 在单击元素时向下滚动

html - 是否可以使 &lt;script&gt; 标签可见?

HTML:固定列+可变列相反

html - 在我的网页上使用 UTF-8 字符(如 ✖)是否安全?

html - Bootstrap/CSS 的奇怪问题

javascript - 在屏幕对 Angular 线上移动背景图像

jquery - Ajax 不会让 css 当前链接样式正常工作

c++ - 元素序列的对齐

css - 在基线导航栏上方垂直对齐 div