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

如何将浮动div垂直对齐到底部?

欧阳俊逸
2023-03-14
问题内容

如何使条形图的底部而不是顶部?现在它们粘在容器(#bars)的顶部,但我希望它们粘在底部。

如您所见,我不知道最高条的高度,所以我也不知道容器的高度。

应该简单吧?如果有帮助,它只能在不错的浏览器中工作。

PS。条的数量是可变的(在示例中不是),其高度是可变的。只有它们的宽度是静态的。定位absolute无济于事,因为容器div没有测量值。


问题答案:

这将达到目的:

#bars {
    display: table-cell;
    border: solid 1px black;
}
#bars > div {
    display: inline-block;
    vertical-align: bottom;
    width: 5px;
    background-color: #999;
    margin-left: 2px;
}
#bars > div:first-child {
    margin-left: 0;
}

display: table-cell;在默认情况下已vertical-align: baseline;应用的父div上使用。这改变了float: left;对子div 的需求,并允许我们使用display: inline- block;。这也消除了对CSS清除修复程序的需要。

编辑-根据@thirtydot的评论,将其添加vertical-align: bottom;到子div中可消除底部的空白。

因此,我更改了上面的CSS和jsFiddle。 我保留了,display: table- cell;以便父div用0填充来包装子div,看起来又漂亮又时髦!



 类似资料:
  • 问题内容: 我有一个div(#wrapper),其中包含2个并排站立的div。 我希望将右div垂直对齐。我在主包装器上尝试了vertical-align:middle,但是它不起作用。它让我发疯! 希望有人能帮忙。 HTML: CSS: 问题答案: 您没有浮点元素的运气。他们不服从垂直对齐, 您需要的是: 请小心,因为它将元素之间的空白解释为真实的空白。它不会像对待它那样忽略它。 我建议这样做:

  • 问题内容: 如何在容器中对齐图像? 例 在我的例子,我需要垂直居中的在用“: 的高度是固定的,图像的高度是未知的。如果这是唯一的解决方案,则可以添加新元素。我正在尝试在Internet Explorer 7和更高版本的WebKit,Gecko上执行此操作。 在这里查看jsfiddle 。 问题答案: 唯一的(和最好的跨浏览器)的方式,因为我知道是使用佣工,并在这两个元素。 因此,有一个解决方案:h

  • 问题内容: 我试图找到最有效的方法来使div对齐文本。我尝试了几件事,但似乎都没有用。 问题答案: 对于CSS 2浏览器,可以使用/ 来使内容居中。 jSFiddle提供了一个示例: 可以将旧浏览器(Internet Explorer 6/7)的hack合并为样式,并用于从较新的浏览器中隐藏样式:

  • 问题内容: 我有一个包含两个图片的div和一个。它们都需要在div内垂直对齐,彼此相邻。 其中一张图片需要放在div内。 要在所有常见的浏览器上运行,需要什么CSS? 问题答案: 简而言之: 内联元素 (并且 仅 内联元素)可以在上下文中垂直对齐。但是,“上下文”不是整个父容器的高度,而是它们所在的文本行的高度 对于块元素,垂直对齐更加困难,并且在很大程度上取决于特定情况: 如果内部元件可以有一个

  • 问题内容: 我可以水平对齐div,所有内容看起来都不错。寻找垂直对齐不包含任何表格的div。我尝试在#container内将边距位置设置为某些负值,但是这种方法可行。我知道CSS还不支持吗? 这是我的标记: 运行上面的代码段,然后单击“整页”以查看其当前外观。基本上,它在水平方向上看起来不错,但是现在我需要它在页面中也垂直居中。 我要垂直对齐的元素是#container div。该效果将迫使整个d

  • 问题内容: 所以我知道如果使用,我们可以将div水平居中。应该按照我认为的方式工作?垂直居中对齐吗? 为什么也不起作用? 问题答案: 您不能使用: 因为它是不是适用于块级元素 并且因为它们的使用值将计算为零 因为基于百分比的边距值是相对于包含块的宽度计算的 实际上,文档流和元素高度计算算法的性质使得不可能使用边距将元素垂直放置在其父元素内部居中。每当垂直边距的值更改时,都会触发父元素高度的重新计算