簡體   English   中英

使用CSS和DIV垂直對齊

[英]Vertical-align using CSS and DIV

我試圖使我的評論垂直居中。 但是,它只是行不通。 我已經附上了代碼和實際位置的屏幕截圖。

怎么了?

.comment {
    min-height: 400px;
    background-color: red;
    padding: 5px;
    float: left;
    display: table-cell;
    vertical-align: middle;
}

..HTML:

<tr>
    <td colspan="2">
        <div class="profile_picture_container">
            <img class="profile_picture" src="URL" />
        </div>
        <div class="comment">
            <b>Patrick Reck</b> Come on, would you just work already!
        </div>
    </td>
</tr>

在此處輸入圖片說明

根據CSS 2.1規范

單元格框的高度是內容所要求的最小高度。 表格單元格的“高度”屬性可以影響行的高度,但不會增加單元格框的高度。

使用固定值的Height元素可以獲得的預期結果。

所以你可以試試看

.comment {
    height: 400px;
    background-color: red;
    padding: 5px;
    display: table-cell;
    vertical-align: middle;
}

JS小提琴

浮動和顯示不能一起使用。

表格單元格垂直居中居中。

img,是文本或其他嵌入式框之間的嵌入式框和垂直中心。

您可以簡單地使您的html這樣:

<td>
  <img />
  <span>text</span>
</td>

和你的CSS是這樣的:

    td,
    td img,
    td span {vertical-align:middle;}
    /* turn span into an inline boxe */
    td span {display:inline-block;
    /* you may need a max-width or set 
    white-space to "no-wrap" on td and back to "normal" on span  */
}

通過在表單元格中使用div,您可以同時進行兩種選擇。 為什么不完全放棄表並使用div? 這是一個示例: http : //codepen.io/pageaffairs/pen/JmzEe

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<style media="all">
.wrap {
    display: table;
    min-height: 400px;
    padding: 5px;
    background: red;
}

.wrap div.comment {
    display:table-cell;
    vertical-align: middle;
}
</style>

</head>

<body>
<div class="wrap">
    <div class="profile_picture_container">
        <img class="profile_picture" src="URL" />
    </div>
    <div class="comment">
        <b>Patrick Reck</b> Come on, would you just work already!
    </div>
</div>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM