欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何將flexbox項目的內容垂直居中

呂致盈2年前8瀏覽0評論

我試圖在使用justify-content:stretch時將flexbox項目的內容居中;看來使用顯示的老把戲:表格單元格;垂直對齊:居中;在這種情況下不管用。什么會?

.flex-container {
    display:flex;
    align-items:center;
    justify-content:stretch;
}
.flex-item {
    align-self:stretch;
}

<div class="flex-container">
    <div class="flex-item">I want to be vertically centered! But I'm not.</div>
</div>

在你回答之前:對于我的問題,似乎有很多困惑。我正在嘗試將彈性項目的內容居中。使用justify-content:st retch,項目的高度將延伸到容器的整個高度,但項目的內容將浮動到頂部(至少在Chrome中)。

“一圖勝千言。”(A)是我已經得到的。(B)是我想要的。enter image description here

這可以通過將每個flex項目顯示為一個flex容器,然后通過align-items屬性垂直對齊內容來實現,如下所示:

.flex-container {
  display:flex;
  align-items:center;
  height: 200px; /* for demo */
}

.flex-item {
  align-self:stretch;
  display:flex;
  align-items:center;
  background-color: gold; /* for demo */
}

<div class="flex-container">
    <div class="flex-item">
      I want to be vertically centered!
      <s>But I'm not.</s>
  </div>
</div>

我不確定我是否正確地解釋了你的要求,但是我認為你試圖使用“調整-內容:伸展;何時應該使用flex-grow。

Im我的樣本我用flex:1 auto;這只是設置幾個flex屬性的簡寫。

HTML:

<div class="flex-container">
    <div class="flex-item">I'm top dog!
    </div>
    <div class="flex-item flex-center">
        I want to be vertically centered! And I am!
    </div>
</div>

CSS:

*{
    box-sizing:border-box;
    padding:5px;
}
.flex-container {
    border: 1px solid;
    display:flex;
    align-items:center;
    height: 100px;
}
.flex-item {
    flex: 1 auto;
    border: 1px solid green;
    height:100%;
    display:flex;
    justify-content:center;
}
.flex-center {
    align-items: center;
}

http://jsfiddle.net/p28tjskq/

Flex屬性: https://developer.mozilla.org/en-US/docs/Web/CSS/flex

div-box的文本是一個匿名的內聯(lián)節(jié)點。如果要將文本框中的文本居中,可以使用:

display: flex;
    align-items:center;

確保沒有自我結盟會破壞你的結果。

*{
    box-sizing:border-box;
    padding:5px;
}
.flex-container {
    border: 1px solid;
    display:flex;

    height: 200px;
}
.flex-item {
    flex: 1 auto;
    border: 1px solid green;
    align-self:stretch;
    display:flex;
    justify-content:center;
}
.flex-center {
    align-items: center;
}
.flex-center div {
  border: 1px solid blue;
}

<div class="flex-container">
    <div class="flex-item">I'm top dog!
    </div>
    <div class="flex-item flex-center">
        I want to be vertically centered! And I am!    
        <div style="align-self:start;">
          I want to be vertically centered too! But align-self broke it!
        </div>
        <span style="align-self:middle; color:red;">Hallo. I am a centered text. </span>
    </div>
</div>