遇到了一个奇怪的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中的大多数元素都是不可替换的。不可替换元素只是一个不是