欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多行文字垂直居中

程序员文章站 2024-03-14 10:13:58
...

老生长谈的问题了。由于学习了一下table 布局。简单总结一下

多行文字垂直居中

    <div class="container1">
       <div>table-cell: hello, I am your long lost penpal</div>
    </div> 

    <div class="container2">
      <div>inline-block: You are my sunshine, you are my rain</div>
    </div>

    <div class="container3">
      <div>absolute: You are my sunshine, you are my rain</div>
    </div>

    <div class="container4">
      <div>flex: You are my sunshine, you are my rain</div>
    </div>
.container1{
  display: table;
  width: 100%;
  height: 100px;
  background-color: #FF5722;
  text-align: center;
  margin-bottom: 10px;
  div {
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box;
    padding: 0 25%;
    text-align: left;
    color: white;
  }
}

.container2{
  width: 100%;
  height: 100px;
  background-color: #8bc34a;
  text-align: center;
  margin-bottom: 10px;
  div {
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    width: 50%;
    text-align: left;
    color: white;
  }

  &::before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
}

.container3{
  position: relative;
  width: 100%;
  height: 100px;
  background-color: #E91E63;
  text-align: center;
  margin-bottom: 10px;
  div {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    width: 50%;
    text-align: left;
    color: white;
  }
}

.container4{
  position: relative;
  width: 100%;
  height: 100px;
  background-color: #3F51B5;
  text-align: center;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  div {
    box-sizing: border-box;
    width: 50%;
    text-align: left;
    color: white;
  }
}