html - 为什么最后一个内联 block div 没有正确垂直对齐?

标签 html css

我的 html 和 css 的输出目前看起来像这样: enter image description here

我想要实现的是让 3 div 的垂直对齐在同一基线上,所以它看起来像这样: enter image description here

当一个 div 的内容超过最大宽度时,它应该是这样的: enter image description here

这是 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;

关于html - 为什么最后一个内联 block div 没有正确垂直对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33420873/

相关文章:

html - IE 6-7下推 float div

php - 基于断点的 Bootstrap 行元素

html - 没有特定高度的背景图片

javascript - HTML/CSS/JS/jQuery : Color "table"/"grid"

css - 属性 border-radius 在 CSS level 2.1 中不存在,但在 : 6px 6px 中存在

html - CSS Div 背景图像固定高度 100% 宽度

javascript - 如何禁用除单击之外的所有鼠标事件?

css - 绝对 div 位置 - 让它贴在右边

html - Web 应用推送通知

html - 如果大于 1px,html 中的重复背景是否更有效?