【问题标题】:Insert new line in text only div在纯文本 div 中插入新行
【发布时间】:2016-10-15 03:32:54
【问题描述】:

我正在使用只允许特定 div 中的文本的 CMS(HTML,如 <br>,被解析为 <br>)。 Unicode / HTML 代码很好(例如& 会生成&@ 会生成@),但它似乎不允许换行/回车。如何在不使用 HTML 的情况下将 <br> 放在 div 中?

我试过了:

这里有同样的问题(以及 CMS 输出的 HTML 结构)> https://jsfiddle.net/w3p4wgcc/ ...这不可能吗?

【问题讨论】:

  • 这只是在文本中添加了“\n”,与\r相同
  • 你的cms允许你添加内联css吗?
  • 可以用javascript吗?
  • 不,它和 CSS 有同样的问题。我真的在为非技术人员在 CMS 编辑器中进行文案写作时寻找解决方案(例如,目前他们对 ‘£ 等内容感到满意)

标签: html unicode line-breaks


【解决方案1】:

使用内联 css 我已经成功地做到了以下几点:

<div style="white-space: pre-wrap;">
This is some new text,&#10;this text should be on a new line.
</div>

https://jsfiddle.net/6mqgrym9/

如果您需要所有 div 都像这样,可以在样式表中说明以下内容:

div {
    white-space: pre-wrap;
}

如果这些 div 包含在根 div(具有 id)中,则可以执行以下操作:

#idhere > div {
    white-space: pre-wrap;
}

如果你被允许使用一些 javascript,你可以试试这个:

<div>
    <script>
        document.currentScript.parentNode.innerHTML = 'This is some new text<br>this text should be on a new line.';
    </script>
</div>

【讨论】:

  • 很遗憾,我无法以这种方式编辑 HTML,但可以创建某种全局类...
  • 全局类?你的意思是一个CSS类?如果你能做到那将是一个更漂亮的解决方案.. 但你仍然需要能够将类添加到 div 元素
  • 对不起,是的。全局样式表的 css 类。问题是我不能非常准确地单独定位 div,所以我有点担心高级别的更改会在其他地方产生看不见(和不受欢迎的)变化。
  • 这些 div 有什么独特之处吗?哪个将它们与其他 div 区分开来?
  • @tymothytym 如果此答案对您有所帮助,请将其设置为解决方案
【解决方案2】:

您也可以在 CSS 中使用以下内容。

div {
    white-space: pre-line;
}

pre-line、pre-wrap和pre的区别可以在this link下查看

【讨论】:

    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2019-01-24
    • 2011-10-26
    • 2012-08-03
    • 2021-10-19
    相关资源
    最近更新 更多