[英]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.