bugfix> html > 投稿

この例では、兄弟要素の高さが動的であるため、「list-li」要素内の「3」を垂直方向に中央に配置します。私は使用してみました:

position: relative;
top: 50%;

..しかし、うまくいかないようです。

HTML:

<ul class="list-1">
    <li>
        <div class="list-1-num">
            3    
        </div>
        <div class="list-1-content list-1-content-signup">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur venenatis, lectus cursus cursus elementum.
        </div>
    </li>
</ul>

CSS:

.list-1 {
    font-size: 20px;
    list-style: none;  
}
.list-1 li {
    margin-bottom: 70px;
    overflow: hidden;
    text-align: left;
    list-style: none;
}
.list-1-num {
    float: left;
    font-size: 25px;
    margin-right: 20px;
}
.list-1-content {
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: 45px 40px;
    float: left;
    width: 300px;
    line-height: 25px;
}

Codepenデモ:https://codepen.io/aguerrero/pen/OZevgJ

回答 1 件
  • float の代わりにFlexboxを使用できます   align-items: center を設定します  親に。

    .list-1 {
      font-size: 20px;
      list-style: none;
    }
    .list-1 li {
      margin-bottom: 70px;
      overflow: hidden;
      text-align: left;
      list-style: none;
      display: flex;
      align-items: center;
    }
    .list-1-num {
      font-size: 25px;
      margin-right: 20px;
    }
    .list-1-content {
      background-position: 0 50%;
      background-repeat: no-repeat;
      background-size: 45px 40px;
      width: 300px;
      line-height: 25px;
    }
    
    
    <ul class="list-1">
      <li>
        <div class="list-1-num">
          3
        </div>
        <div class="list-1-content list-1-content-signup">
          Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur venenatis, lectus cursus cursus elementum.
        </div>
      </li>
    </ul>
    
    

あなたの答え