【问题标题】:Sentence is not taking /n句子不采取 /n
【发布时间】:2015-02-26 08:03:45
【问题描述】:

我有一个消息框,其中有一个带有一些文本的 div。 我正在传递“凌晨 1 点 khushbu/n 新年快乐”。它不考虑 /n 作为命令。 ..它把它当作文本。 如果我写的话,我想要那个:

"hello
I
am
"

它应该打印在下一行。 也用过。 我正在使用这种风格:

<div id="Stage_Scrolls_MessageBox_message_box_Text"
     class="Stage_Scrolls_MessageBox_message_box_Text_id" 
     style="position: absolute; 
            margin: 0px; 
            left: 12.61%; 
            top: 23.18%; 
            width: 165px; 
            height: 157px; 
            right: auto; 
            bottom: auto; 
            font-family: abel; 
            font-size: 21px; 
            font-weight: 400; 
            color: rgb(166, 33, 36); 
            text-decoration: none; 
            font-style: normal; 
            word-wrap: break-word; 
            text-align: center; 
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
            -webkit-transform: translateZ(0px); 
            line-height: 25px; 
            letter-spacing: 0px;">
      During this Season may the joy and love of &lt;/br&gt; Christmas be yours.
</div>

【问题讨论】:

  • 改用&lt;br /&gt;标签。
  • 我的文本没有接受命令.../n 或 。在控制台上,它在下一行显示我的文本,但在视图中..它没有在下一行显示我跨度>
  • @chipChocolate.py - 谢谢。
  • 你可以尝试使用前置标签jsfiddle.net/wufx69pb/2
  • 看起来您的模板框架正在对您的 html 进行编码?或者您正在那里的文本上运行某种 html 实体编码功能。这可能就是你的中断标签不起作用的原因。

标签: css newline word-wrap


【解决方案1】:

使用&lt;br /&gt; 标记或为 div 指定特定宽度。

【讨论】:

    【解决方案2】:

    试试这个:

    <div>I am Khushbu Happy New Year</div>
    

    CSS

    div {
    
    width: 5em;
    
    }
    

    根据您的要求更改宽度。

    你也可以这样试试,

     <p>I am Khushbu, <br/> Happy New Year</p>
    

    【讨论】:

    • 我的问题是:它没有显示
    • @Curious_k.shree 使用

      标签而不是

    • @Curious_k.shree 请检查我的另一个答案,它的工作原理。
    • @Curious_k.shree 它的工作请检查link
    • @Curious_k.shree 在使用

      标签后将这个 </br> 更改为这个

    【解决方案3】:

    检查这个:The working solution

    请将&amp;lt;/br&amp;gt; 替换为&lt;br/&gt;

     <p id="Stage_Scrolls_MessageBox_message_box_Text" class="Stage_Scrolls_MessageBox_message_box_Text_id" style="position: absolute; margin: 0px; left: 12.61%; top: 23.18%; width: 165px; height: 157px; right: auto; bottom: auto; font-family: abel; font-size: 21px; font-weight: 400; color: rgb(166, 33, 36); text-decoration: none; font-style: normal; word-wrap: break-word; text-align: center; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-transform: translateZ(0px); line-height: 25px; letter-spacing: 0px;">During this Season may the joy and love of <br/> Christmas be yours.</p>
    

    【讨论】:

      【解决方案4】:

      编辑 1

      由于您使用的是 AngularJS,看起来 AngularJS 是您需要查看的地方。有一些东西对你的 html 实体进行编码以防止 XSS。

      有关一些解决方案,请参阅此答案:AngularJS is rendering <br> as text not as a newline


      上一个答案

      我不知道您使用的是什么语言或框架,但您应该检查您的模板引擎是否没有对您的文本进行编码。这就是这里正在发生的事情。大多数模板引擎将自动编码 html 实体作为安全预防措施。有一种方法可以通过将输出标记为安全来防止编码。

      如果您没有使用模板引擎。也许你正在使用 PHP 并且正在使用htmlentities 函数,它将&amp;lt;br/&amp;gt; 转换为&amp;lt;br/&amp;gt;。如果您正在显示用户输入,这是一件好事。它将有助于防止 XSS(跨站点脚本尝试)。

      在这种情况下,您似乎正在接受用户文本,因此您可能想要执行类似运行htmlentities 或等价的操作,然后对\n 执行字符串替换并替换为&lt;br /&gt; 标记。在 php 中你可以使用nl2br

      如果您使用的是模板引擎,也可能有类似的方法。

      【讨论】:

      • 是的......刚刚找到了这个解决方案......它把
        当作 <br/>。它没有把它当作命令..它把它当作文本......对于我们正在使用的空间 &nbsp 。对于 我们应该使用什么? nl2br 不工作
      • 您使用的是模板引擎还是框架?如果是的话,是哪一个?这将有助于其他人提供更具体的答案。
      • 我正在使用 adobe edge 设计我的视图并使用简单的 html 页面..没有其他框架
      • 我从未使用过 Adob​​e Edge。您可能需要编辑您的答案以显示该信息,因为它可能很重要。
      • 我认为这不是那么重要..问题是我的
        东西 <br/>xyz
        .. 在这里,我的 <br/>应该用
        标签替换....试试这个
      【解决方案5】:

      我找到了解决方案。

      解决方案: 它现在正在工作..我们在 div 中设置文本..而不是那样,我们应该设置 html ..以便它可以在 dom 中设置

      textField[0].innerHTML = textconfig.text.replace(/\r\n|\r|\n/g, "<br />");
      

      【讨论】:

      • 请不要添加“谢谢”作为答案。相反,请为您认为有帮助的答案投票。
      • @Kartoch - 我自己找到了答案......在这些帮助我给出提示的人的帮助下......所以这样做......无论如何......谢谢
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签