gpt4 book ai didi

css - chrome 和 firefox 之间的 div 大小不一致

转载 作者:搜寻专家 更新时间:2023-10-31 08:47:28 26 4
gpt4 key购买 nike

我遇到了一个有趣的问题,即带有文本的 DIV 在 Firefox 和 Chrome 中占用空间的方式。我有一个水平展开的条形图,每个条形由一个垂直条和下面的标题组成。

<div class="verticalChart">
<div class="singleBar">
<div class="bar"><!-- contents set by javascript, equal size for all bars--></div>
<div class="title">What is a fraction</div>
</div>
<div class="singleBar">
<div class="bar"></div>
<div class="title">Unit Fractions on Number Line</div>
</div>
[...] <!-- more bars -->
</div>

我将以下 CSS 应用于每个条形下方的标题,以确保它们的底部位于相同的 y 坐标。我允许文本最多占据 3 行,然后溢出到可见框之外:

.verticalChart .singleBar .title {
font-size: 10px;
line-height: 1.0em;
min-height: 3.0em;
max-height: 3.0em;
overflow: hidden;
margin-top: 5px;
text-align: center;
white-space: normal;
}

我基本上需要标题栏的高度始终相同,否则栏会错位。有趣的是,这似乎在 Firefox 中工作得很好:

firefox

但在 Chrome 上是不行的:

chrome

基于摆弄数字,我怀疑 Firefox 中的最小高度与 Chrome 中的最小高度不同:

  • 在 Firefox 中,将 min-height 降低到 3em 以下会从标题 div 中删除不需要它的额外行,从而使它们上方的栏错位。
  • 在 Chrome 中,更改最小高度仅用于将下方的滚动条推得更近或更远。带有栏 + 标题的 div 不会以任何方式相对于彼此移动。

这里到底发生了什么?我是否以错误的方式实现了标题栏的“最小高度”效果?是否有更跨浏览器友好的方法?

非常感谢!

编辑:

JSFiddle 根据大众需求:http://jsfiddle.net/YJHrY/4/

最佳答案

如我所料,您正在使用值为 inline-block 的显示属性,默认情况下它们与底部对齐。
http://jsfiddle.net/YJHrY/5/

添加一个 vertical-align: top 到你的 .verticalChart .singleBar

.verticalChart .singleBar {
/* FrontRow Edits */
width: 4.4%;
display: inline-block;
margin:0 1% 0% 1%;
float: none;
vertical-align: top;
}

关于css - chrome 和 firefox 之间的 div 大小不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com