如何使用 JS 输入的数字不会超过容器而只是转到下一行? [复制]

Posted

技术标签:

【中文标题】如何使用 JS 输入的数字不会超过容器而只是转到下一行? [复制]【英文标题】:How to make numbers entered with JS not overlow the container but just go to the next line? [duplicate] 【发布时间】:2021-12-09 22:48:29 【问题描述】:

我想做一个简单的类似计算器的应用程序。我创建了一个 div,其 ID 为 display 和三个输入数字 1、2、3 的按钮。这些数字彼此相邻显示。然而,当它们撞到容器的边缘时,它们就不会包裹起来。如何使输入的数字换行到下一行?我试过:显示:弹性;弹性包装:换行;但它没有用。我猜溢出:隐藏;也不起作用,因为它只隐藏了内容。

  <div id="display"></div>
    <div class="keypad">
      <button id="btn1" onclick="press1()">1</button>
      <button id="btn2" onclick="press2()">2</button>
      <button id="btn1" onclick="press3()">3</button>
  </div>
  #display 
    width: 300px;
    height: 100px;
    background-color: gold;
    border: 1px solid black;
  

  .keypad 
    width: 300px;
    height: 100px;
    margin: 0 auto;
    border: 1px solid orangered;
  

  button 
    width: 97px;
    height: 97px;
    border: 0;
    outline: 0;
  

  let numberEntered = "";
  const display = document.querySelector("#display");
  console.log(display);

  function press1() 
    numberEntered = 1;
    display.textContent += `$numberEntered`;
  

  function press2() 
    numberEntered = 2;
    display.textContent += `$numberEntered`;
  

  function press3() 
    numberEntered = 3;
    display.textContent += `$numberEntered`;
  

【问题讨论】:

word-break:break-word 在水平方向有效,但在垂直方向仍然溢出。我猜溢出隐藏是解决方案和填充。除非其他人,可以提出任何建议吗? 【参考方案1】:

尝试将此行添加到#display (CSS):

word-wrap: break-word;

我希望这就是你的意思。

编辑 - 反应:垂直溢出,因为您将高度定义为 100px,它不能变大。我不知道文本到达末尾后您到底希望文本做什么。您可以将其添加到 CSS min-height: 100px; height: fit-content; 并且您的#display 会随着您添加更多数字而膨胀。您也可以添加overflow-y: scroll;,框不会改变它的大小,它只会添加滚动条。如果您可以指定,当数字到达末尾时框的预期行为,我也许可以改进我的答案。

【讨论】:

它在水平方向工作,但在垂直方向仍然溢出。

以上是关于如何使用 JS 输入的数字不会超过容器而只是转到下一行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Swift如何跳转到下一个uitextfield [重复]

在 C# 中使用 Linq 单击按钮时,Json 不会转到下一个或上一个文本

如何在不使用 jquery 插件的情况下快速跳转到下一部分?

VIM,增量搜索:如何跳转到下一个结果并使其突出显示?

React navigation navigation.navigate 在使用相机时不会转到下一个屏幕

使用 querySelector 跳转到下一个输入