【问题标题】:Adjacent inline-block elements are displaced upon adding text. (HTML/CSS) [duplicate]添加文本时,相邻的 inline-block 元素会被替换。 (HTML / CSS)[重复]
【发布时间】:2013-08-13 08:42:06
【问题描述】:

我遇到了一个烦人的问题,我相信这个问题的标题和Example 可以完全解释这个问题

#body {
    height: 300px;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #333;
}
#container {
    height: 10%;
    background-color: #000;
}
.innerContainer {
    width: 30%;
    height: 100%;
    margin: 0 9.5%;
    background-color: #F00;
    display: inline-block;
}

.text {
    height : 100%;
    line-height: 100%;
}
#button {
    margin-top: 20%;
    margin-left: 20%;    
}

【问题讨论】:

    标签: html mootools css


    【解决方案1】:

    由于您的.innerContainer 设置为display: inline-block;,您需要添加vertical-align: top; 才能正确设置元素。

    .innerContainer {
        width: 30%;
        height: 100%;
        margin: 0 9.5%;
        background-color: #F00;
        display: inline-block;
        vertical-align: top;
    }
    

    Demo

    【讨论】:

    • 完美外星人,谢谢。它有效——但我不明白为什么初始代码不起作用。你能解释一下为什么需要垂直对齐属性吗?
    • @SexyBachelor 内联元素位于基线上,所以我使用top 将其向上移动,您可以阅读this,与问题不完全相关,但它会给你一个想法:)你欢迎
    • 很好,谢谢你的链接。奇怪的是,外部元素使用内部元素的文本对齐,但我想这在某些情况下非常有用。非常感谢!
    【解决方案2】:
    .innerContainer {
    width: 30%;
    height: 100%;
    margin: 0 9.5%;
    background-color: #F00;
    display: inline-block; /* float:left; */
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-29
      • 2019-10-19
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多