使用显示时如何使文本从换行符开始而不是超过 div:flex [重复]

Posted

技术标签:

【中文标题】使用显示时如何使文本从换行符开始而不是超过 div:flex [重复]【英文标题】:How to make text start on newline instead of exceeding div when using display: flex [duplicate] 【发布时间】:2021-12-31 14:03:58 【问题描述】:

标题差不多。如果 div 中的文本大于 div 的宽度,我该如何停止它以换行符开头?

我也在使用display: flex,因为这是我发现我可以将文本垂直和水平居中在 div 中间的唯一方法 这是我的代码:

#front 
  position: relative;
  background-color: #121212;
  color: #e6e600;
  border: 3px solid #e6e600;
  border-radius: 10px;
  width: 500px;
  height: auto;
  min-height: 400px;
  margin: 0 auto;
  padding: 30px;
  font-weight: bold;
  overflow: auto;
  display: flex;
  justify-content: center;
  align-items: center;
<div id="front"> 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
</div>

这是我在 chrome 浏览器中看到的内容:

编辑:原来问题是因为我使用了一个单词。请忽略这个问题

【问题讨论】:

那么大的单词(包含数字语言)会造成溢出。由于浏览器倾向于在中断(空格)处开始换行。试着休息一下。 @Rana 我的错,我什至不认为这是一个词。谢谢 但是你的解决方案在word-break: break-all;属性中,继续尝试使用它,如果它用这么大的词解决了你的问题 这能回答你的问题吗? How to force a line break in a long word in a DIV? 【参考方案1】:

我为这个问题做了一个代码 sn-p。我将您的盒子放入容器中,将您的文本放入 flex 中。在 flexbox 中,如果它溢出(我变成了溢出:隐藏),命令“overfolw-wrap:break-word”会破坏句子

希望这对你有用。 :)

-诺埃尔

#front 
  font-weight: bold;
  overflow: hidden;
  overflow-wrap: break-word;


container 
  position: relative;
  background-color: #121212;
  color: #e6e600;
  border: 3px solid #e6e600;
  border-radius: 10px;
  width: 500px;
  height: auto;
  min-height: 400px;
  margin: 0 auto;
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
<container>
  <div id="front">
    123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
  </div>
</container>

【讨论】:

以上是关于使用显示时如何使文本从换行符开始而不是超过 div:flex [重复]的主要内容,如果未能解决你的问题,请参考以下文章

UL和浮动DIV:列表文本换行但背景颜色不换行

Textarea换行符[重复]

如何使文本具有比其容器更大的宽度,以便在IE 11中向左移动而不是向右移动?

如何使ul中li元素横向排列且不换行

如何使在使用word制表格时自动换行但不增加行距???

将ckeditor应用于textarea