简体   繁体   English

如何使用flex属性使文本停止在每个空格的下一行?

[英]How can I stop text to goes on next line on every space using flex property?

 .span { flex-basis: 100%; } #outerSender { width: 100%; padding: 0 0 0 40%; } #sender { /*flex-grow: 1;*/ max-width: 400px; color: white; margin: 2px 0 0 2px; display: flex; border: 1px solid #99CC66; overflow-wrap: break-word; font-size: 15px; } #innerSender { width: 100%; flex-grow: 1; right: 0; flex-shrink: 0; flex-basis: 0; padding: 8px; background-color: #009900; border: 1px solid #99CC66; border-radius: 15px; } 
 <div id="outerSender"> <div id="sender"><span class="span"></span> <div id="innerSender">fe wef wef ew wef</div> </div> </div> 

I am trying to use the flex property but the problem is that on every space between the text , it goes to new line. 我正在尝试使用flex属性,但是问题是在文本之间的每个空格上,它都换行了。

How can I stop this? 我该如何阻止呢?

To right align the flex items, use justify-content: flex-end . 要使弹性项目右对齐,请使用justify-content: flex-end

This won't work alone in your case, as your span is told to take full width, hence will push the div as far to the right as possible, and force line wrap. 在您的情况下,这不会单独起作用,因为您的span被告知采用全宽,因此将div推到最右侧,并强制换行。

One solution to that is to allow for the flex items to wrap, using flex-wrap: wrap 一种解决方案是允许使用flex-wrap: wrap flex项flex-wrap: wrap

Stack snippet 堆栈片段

 .span { flex-basis: 100%; } #outerSender { width: 100%; padding: 0 0 0 40%; } #sender { /*flex-grow: 1;*/ max-width: 400px; color: white; margin: 2px 0 0 2px; display: flex; flex-wrap: wrap; /* added */ border: 1px solid #99CC66; overflow-wrap: break-word; font-size: 15px; justify-content: flex-end; /* added */ } #innerSender { padding: 8px; background-color: #009900; border: 1px solid #99CC66; border-radius: 15px; } 
 <div id="outerSender"> <div id="sender"> <span class="span"></span> <div id="innerSender">fe wef wef ew wef</div> </div> </div> <div id="outerSender"> <div id="sender"> <span class="span"></span> <div id="innerSender">fe wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef</div> </div> </div> 


And if the span were there to accomplish the same, just remove it instead of using flex-wrap 如果span可以达到相同目的,则只需将其删除即可,而不要使用flex-wrap

Stack snippet 堆栈片段

 #outerSender { width: 100%; padding: 0 0 0 40%; } #sender { /*flex-grow: 1;*/ max-width: 400px; color: white; margin: 2px 0 0 2px; display: flex; border: 1px solid #99CC66; overflow-wrap: break-word; font-size: 15px; justify-content: flex-end; /* added */ } #innerSender { padding: 8px; background-color: #009900; border: 1px solid #99CC66; border-radius: 15px; } 
 <div id="outerSender"> <div id="sender"> <div id="innerSender">fe wef wef ew wef</div> </div> </div> <div id="outerSender"> <div id="sender"> <div id="innerSender">fe wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef wef wef ew wef</div> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM