以下是我的代码,我想理解 为什么 #firstDiv被所有浏览器向下推。我真的很想 了解
以下事实的内部运作原理:为什么将其向下而不是以一种或另一种方式向上拉。(而且我知道如何对齐它们的顶部:))
而且我知道它的overflow:hidden是导致它的原因,但不确定为什么将div向下推。
body {
width: 350px;
margin: 0px auto;
}
#container {
border: 15px solid orange;
}
#firstDiv {
border: 10px solid brown;
display: inline-block;
width: 70px;
overflow: hidden;
}
#secondDiv {
border: 10px solid skyblue;
float: left;
width: 70px;
}
#thirdDiv {
display: inline-block;
border: 5px solid yellowgreen;
}
<div id="container">
<div id="firstDiv">FIRST</div>
<div id="secondDiv">SECOND</div>
<div id="thirdDiv">THIRD
<br>some more content<br> some more content
</div>
</div>
基本上,您在代码中添加了更多的混乱情况,这造成了更多的混乱,因此,首先,我尝试消除妨碍理解真正问题的混乱情况。
首先,我们必须确定真正的问题是什么? 其“inline-block
”元素为何被向下推。
现在我们开始理解它,并先消除混乱。
1- 为什么不给所有三个div相同的边框宽度? 让我们给它。
2- 浮动元素和向下插入的内嵌块元素有什么联系吗?不,与它无关。
因此,我们完全删除了该div。您还看到内联块元素被向下推的相同行为。
现在轮到一些文献来理解线框的概念,以及如何将它们放在同一行中,特别是仔细阅读最后一段,因为这是您问题的答案。
“ inline-block”的基线是正常流中其最后一个线框的基线,除非它没有流入流线框,或者如果其“ overflow”属性的计算值不是“
visible”,则在这种情况下,基线是下边距。
如果您不确定基线,那么这里是简单的简短解释。
除了’gjpqy’以外的所有字符都写在基线上,您可以认为基线就像您在这些“随机字符”下方绘制一条与下划线相同的简单水平线一样,它将成为基线,但现在如果您编写任何“gjpqy”同一行上的一个或多个字符,则这些字符的下部将落在该行下方。
因此,可以说除“ gjpqy”以外的所有字符都完全写在基线之上,而这些字符的某些部分则写在基线之下。
3-为什么不检查生产线的基线在哪里?我添加了一些字符来显示该行的基线。
4-
为什么不在我们的div中添加一些字符以在div中找到其基线?此处,在div中添加了一些字符以阐明基线。
现在,当您了解基线时,请阅读以下有关内联块基线的简化版本。
i)如果有问题的内联块的溢出属性设置为可见(默认情况下,因此无需设置)。 然后,其基线将是该行包含块的基线。
ii)如果所讨论的内联块的溢出属性设置为“其他可见”。 然后,其底边距将在包含框的线的基线上。
现在再来看一看,以澄清您的概念greendiv发生了什么。如果仍然有任何困惑,则在此处添加更多靠近绿色div的字符以建立包含块的基线,并对齐绿色div基线。
好吧,我现在声称它们具有相同的基准?对?
5- 那么为什么不重叠它们,看看它们是否彼此合适?因此,我带来了第三个div -left:35px;检查他们现在是否具有相同的基准?
现在,我们已经证明了我们的第一点。
好了,在解释了第一点之后,第二点很容易理解,您会看到将溢出属性设置为可见(隐藏)以外的第一格的底边在该线的基线上。
如果我在锚元素中放置div元素,它会使我的超文本标记语言无效。 不在内联元素中放置块级元素的原因是什么?
问题内容: 遇到了一个奇怪的CSS问题。有人可以解释为什么包含内容的框未垂直对齐吗? 如果您将文本放在class的范围内-它将正确对齐。 问题答案: 默认值是其 将框的基线与父框的基线对齐 注意:您可以通过添加到选择器中来查看此默认值。由于是默认设置,因此对齐方式保持不变。 您需要对其进行更改以使块在顶部对齐,例如: 基准定义为 大多数字母“坐着”且下级延伸到其下的线 解决 为什么 添加文本似乎可
问题内容: 举个例子 是在HTML5有效吗? 问题答案: 是的,您编写的内容在HTML5中有效,但并非所有内联元素,我认为这只是适用于.. 参考:HTML5中的“块级”链接 提示:如果使用此设置,则to 或可能会有意外的视觉样式结果 更新: 对于“默认样式可能会导致混淆”的其他“内联代码块”组合,则“不允许”使用-说明在这里 ### 默认样式可能导致混淆的情况 某些元素具有默认样式或行为,这些默认
问题内容: 阅读CSS2规范的height 属性时遇到以下问题: 适用于:除不可替换的嵌入式元素,表列和列组以外的所有元素 我了解替换后的element()或内联element(,)是什么,但是很难找到未替换的内联元素的示例。 问题答案: 表达式“不可替换的内联元素”没有自己的定义:它仅指代既是不可替换的元素又是内联元素的任何元素。如。HTML中的大多数元素都是不可替换的。不可替换元素只是一个不是
问题内容: 鉴于: 如何注释,以便XML为: 问题答案: 您可以利用注释执行以下操作。 oo 酒吧 想要查询更多的信息 http://blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html
本文向大家介绍可以给内联元素设置宽和高吗?为什么?相关面试题,主要包含被问及可以给内联元素设置宽和高吗?为什么?时的应答技巧和注意事项,需要的朋友参考一下