我正在构建一个定制的Angular 计算器,并努力理解这里到底发生了什么.我有5个div元素,设置为10vw的高度和宽度.启动时,div中没有任何内容.我有几组反映0-9的按钮,然后从后到前反馈到这些div元素中(因此有效地键入了一个值,在两个数字上强制使用小数点).当我输入一个值并将其填充到div中时,问题就出现了.在这一点上,它将div向下拉到页面并继续,直到所有5个都具有值,然后所有5个重新对齐到顶部.

CSS align issue

我已经在StackBlitz上创建了这个项目的工作演示.

我的div元素是:

 <div class="value">
    <div class="box">{{ digit5 }}</div>
    <div class="box">{{ digit4 }}</div>
    <div class="box">{{ digit3 }}</div>
    .
    <div class="box">{{ digit2 }}</div>
    <div class="box">{{ digit1 }}</div>
  </div>

这两个元素的直接css是:

.value {
  font-size: 9vw;  
  text-align: center
}
.box {
  border: 1px solid;
  width: 10vw;
  height: 10vw;
  display: inline-flex;
  margin: 1vh 1vw;
  flex-direction: row;
}

我肯定这是很简单的事情--但我就是不明白why

有没有人能解释一下我做错了什么,为什么它会这么做?

非常感谢!

推荐答案

所以我要做的就是对你的两个css类做两个简单的调整,你就可以了.
首先,您应该更新值类,以包含显示Flex并对齐内容中心.

.value {
  font-size: 9vw;
  text-align: center;
  display: flex;
  justify-content:center;
}

这将解决你面临的即时问题,并将防止盒子上下移动……作为额外的+1技巧,我还将更新.box类,使其具有flex-Direction:Column(它而不是row),这样您就可以有一个漂亮的显示了.(这样做将使您的号码在框中居中).

.box {
  border: 1px solid;
  width: 10vw;
  height: 10vw;
  display: inline-flex;
  margin: 1vh 1vw;
  flex-direction: column;
}

Html相关问答推荐

在浮动元素旁边垂直居中

为所有必填字段添加所需的占位符文本(Angular Material)

如何在用css使用网格视图时设置宽度?

具有可展开行的棱角material 表(垫子表),折叠时行之间仍有间隙

无法从路径参数获取ID

使用`<;use>;`与`<;img>;`时呈现的SVG大小不同

如何在VB.NET中用打印预览和直接打印的方式在Html中打印数据表的内容,包括页眉/设置纸张/方向/适合页面/总计

HX-POST未使用正确的操作(路径)

动画的停止和启动并不顺利

如何防止弹性项目溢出容器?

为什么带有截断的 contentedible div 在受约束时会在 Chrome 中添加空格

为什么我不能覆盖 div 的样式?

如何将内容放置在侧边栏旁边?

使用图像自定义 CSS 网格边框

图像比预期宽的网格列

悬停一个 div 时更改所有其他 div 上的字体 colored颜色

防止 HTML 表格在 Quarto 中使用全页宽度

圆形边框显示在该部分后面.怎么修?

下拉菜单项在页面加载时显示,需要隐藏直到悬停

表格布局:固定;文本溢出单元格时不起作用