句子不是/ n

时间:2014-12-30 06:32:01

标签: css newline word-wrap

enter image description here

我有一个消息框,其中我有一个带有一些文本的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>

5 个答案:

答案 0 :(得分:1)

选中此项:The working solution

请将&lt;/br&gt;替换为<br/>

 <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>

答案 1 :(得分:0)

使用<br />标记或为div指定一个特定的宽度。

答案 2 :(得分:0)

试试这个:

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

<强> CSS

div {

width: 5em;

}

根据您的要求更改宽度。

您也可以尝试这样做,

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

答案 3 :(得分:0)

修改1

由于您使用的是AngularJS,看起来AngularJS就是您需要查看的位置。有一些东西可以编码你的html实体来阻止XSS。

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


上一个答案

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

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

在这种情况下,您似乎正在接受用户文本,因此您可能需要执行诸如运行htmlentities或等效的操作,然后对\n执行字符串替换并替换为{{1} } 标签。在php中,您可以使用<br />

如果你正在使用模板引擎,很可能还有办法做类似的事情。

答案 4 :(得分:-1)

我得到了解决方案。

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

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