当前位置: 首页 > 面试题库 >

为什么此内联块元素的内容未垂直对齐

那昊
2023-03-14
问题内容

遇到了一个奇怪的CSS问题。有人可以解释为什么包含内容的框未垂直对齐吗?

如果您将文本放在class的范围内.divPutTextToFixIssue-它将正确对齐。

   #divBottomHeader {

        background-color: #d5dbe0;

        height: 43px;

    }

    .divAccountPicker {

        display: inline-block;

        background: blue;

        width: 200px;

        height: 40px;

    }

    .divAccountData {

        display: inline-block;

        background: red;

        width: 400px;

        height: 40px;

    }


<div id="divBottomHeader">

        <div class="divAccountPicker">

           <span class="divPutTextToFixIssue"></span>

        </div>

        <div class="divAccountData">

            <span>Balance: $555</span>

        </div>

    </div>

问题答案:

默认vertical-align值是baseline

将框的基线与父框的基线对齐

注意:您可以通过添加vertical-align:baseline.divAccountData选择器中来查看此默认值。由于baseline是默认设置,因此对齐方式保持不变。

您需要对其进行更改top以使块在顶部对齐,例如:

.divAccountData {
    display: inline-block;
    background: red;
    width: 400px;
    height: 40px;
    vertical-align: top;
}

基准定义

大多数字母“坐着”且下级延伸到其下的线

解决 为什么 添加文本似乎可以解决问题的原因是

“ inline-block”的基线是正常流中其最后一个线框的基线,除非它没有流入流线框,或者如果其“ overflow”属性的计算值不是“ visible”,则在这种情况下,基线是下边距。

因此,仅添加一个字符会更改基线,从而导致第二个块以相同的垂直对齐方式显示。 当两个块包含相同数量的行时,此方法
有效。尝试在一个块中添加更多单词,您会发现在不强制vertical-align:top第二个块的情况下,它会根据第一个块中存在多少行文本而移动。



 类似资料:
  • 问题内容: 以下是我的代码,我想理解 为什么 #firstDiv被所有浏览器向下推。我真的很想 了解 以下事实的内部运作原理:为什么将其向下而不是以一种或另一种方式向上拉。(而且我知道如何对齐它们的顶部:)) 而且我知道它的overflow:hidden是导致它的原因,但不确定为什么将div向下推。 问题答案: 基本上,您在代码中添加了更多的混乱情况,这造成了更多的混乱,因此,首先,我尝试消除妨碍

  • 如果我在锚元素中放置div元素,它会使我的超文本标记语言无效。 不在内联元素中放置块级元素的原因是什么?

  • 问题内容: 内的所有元素应并排且整齐并排,并受到200px高度的限制,并且没有奇怪的边距或填充。相反,您会遇到上述小提琴中出现的陌生感。 是什么原因造成,并得到中途按下页面,我怎么能解决这个问题?另外,我承认使用表可能是解决整个设置的更好方法,但是我想从上面的代码中找出问题,以便从这个错误中学习。 问题答案: 10.8线高的计算:“线高”和“垂直对齐”属性 “ inline-block”的基线是正

  • 问题内容: 举个例子 是在HTML5有效吗? 问题答案: 是的,您编写的内容在HTML5中有效,但并非所有内联元素,我认为这只是适用于.. 参考:HTML5中的“块级”链接 提示:如果使用此设置,则to 或可能会有意外的视觉样式结果 更新: 对于“默认样式可能会导致混淆”的其他“内联代码块”组合,则“不允许”使用-说明在这里 ### 默认样式可能导致混淆的情况 某些元素具有默认样式或行为,这些默认

  • 我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中。 它让它看起来像这样。 如何实现垂直居中?当我尝试添加样式名称 v-对齐中间时,它什么也没做。

  • 问题内容: 阅读CSS2规范的height 属性时遇到以下问题: 适用于:除不可替换的嵌入式元素,表列和列组以外的所有元素 我了解替换后的element()或内联element(,)是什么,但是很难找到未替换的内联元素的示例。 问题答案: 表达式“不可替换的内联元素”没有自己的定义:它仅指代既是不可替换的元素又是内联元素的任何元素。如。HTML中的大多数元素都是不可替换的。不可替换元素只是一个不是