簡體   English   中英

為什么最后一個內聯塊div不能正確垂直對齊?

[英]Why is the last inline-block div not vertical-aligning correctly?

我的html和css的輸出當前看起來像這樣: 在此處輸入圖片說明

我要實現的是使3 div的垂直對齊在同一基線上,因此如下所示: 在此處輸入圖片說明

並且當div的內容超過最大寬度時,它應如下所示: 在此處輸入圖片說明

這是HTML:

<div id="logger-box">
    <div class="logger-box-item" log-level="WARN">
        <div class="logger-box-item-component">APP</div>
        <div class="logger-box-item-level">WARN</div>
        <div class="logger-box-item-message">Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"</div>
    </div>
    <div class="logger-box-item" log-level="INFO">
        <div class="logger-box-item-component">MODULE:LOGIN</div>
        <div class="logger-box-item-level">INFO</div>
        <div class="logger-box-item-message">Login failed</div>
    </div>
    <div class="logger-box-item" log-level="DEBUG">
        <div class="logger-box-item-component">MODULE:LOGOUT</div>
        <div class="logger-box-item-level">DEBUG</div>
        <div class="logger-box-item-message">Login the user out</div>
    </div>
    <div class="logger-box-item" log-level="ERROR">
        <div class="logger-box-item-component">MODULE</div>
        <div class="logger-box-item-level">ERROR</div>
        <div class="logger-box-item-message">Failed to open module</div>
    </div>
</div>

這是CSS:

#logger-box {
    border: 1px solid #888;
    background-color: #F5F5F5;
}

.logger-box-item {

}

.logger-box-item-component {
    width: 150px;
    margin: 1px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
    border-right: 1px solid #CCC;
    border: 1px solid #AAA;
}

.logger-box-item-level {
    width: 80px;
    margin: 1px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
    text-align: center;
    border-right: 1px solid #CCC;
    border: 1px solid #AAA;
}

.logger-box-item-message {
    margin: 1px;
    display: inline-block;
    border: 1px solid #AAA;
    max-width: 150px;
}

每個div設置為display: inline-block 它正在與display: inline-flex ,但是我想通過inline-block實現它。 我怎樣才能做到這一點?

嘗試vertical-align: top; display: inline-block;

它放置vertical-align: top; 您將其放在各節中。 並且確保.logger-box-itemdisplay: block;

 #logger-box { } .logger-box-item { display: block; /*added*/ } .logger-box-item-component { width: 150px; margin: 1px; text-overflow: ellipsis; overflow: hidden; display: inline-block; border-right: 1px solid #CCC; border: 1px solid #AAA; vertical-align: top; /*added*/ } .logger-box-item-level { width: 80px; margin: 1px; text-overflow: ellipsis; overflow: hidden; display: inline-block; text-align: center; border-right: 1px solid #CCC; border: 1px solid #AAA; vertical-align: top; /*added*/ } .logger-box-item-message { margin: 1px; display: inline-block; border: 1px solid #AAA; max-width: 150px; vertical-align: top; /*added*/ } 
 <div id="logger-box"> <div class="logger-box-item" log-level="WARN"> <div class="logger-box-item-component">APP</div> <div class="logger-box-item-level">WARN</div> <div class="logger-box-item-message">Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"Open module "1"</div> </div> <div class="logger-box-item" log-level="INFO"> <div class="logger-box-item-component">MODULE:LOGIN</div> <div class="logger-box-item-level">INFO</div> <div class="logger-box-item-message">Login failed</div> </div> <div class="logger-box-item" log-level="DEBUG"> <div class="logger-box-item-component">MODULE:LOGOUT</div> <div class="logger-box-item-level">DEBUG</div> <div class="logger-box-item-message">Login the user out</div> </div> <div class="logger-box-item" log-level="ERROR"> <div class="logger-box-item-component">MODULE</div> <div class="logger-box-item-level">ERROR</div> <div class="logger-box-item-message">Failed to open module</div> </div> </div> 

暫無
暫無

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

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