Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保留空白,忽略换行_Javascript_Html_Css - Fatal编程技术网

Javascript 保留空白,忽略换行

Javascript 保留空白,忽略换行,javascript,html,css,Javascript,Html,Css,我正在创建一个文本编辑器,我希望设置一个空白CSS属性选项,以便保留空格和nbsp,但HTML代码中的换行符不会导致换行 我正在创建的文本编辑器在所有边上都有边距,我希望在文本到达标记的末尾时将其换行。我希望用户能够在文档中放置尽可能多的空格,而不必压缩 目前,我有空白:预包装,但是文档代码中的任何换行也会导致文档中的换行。这些换行是由我拥有的文档转换器引起的,我不想修改它,除非这是绝对必要的。虽然我不是绝对肯定,但我高度怀疑Firefox、Google Chrome、Internet Expl

我正在创建一个文本编辑器,我希望设置一个空白CSS属性选项,以便保留空格和nbsp,但HTML代码中的换行符不会导致换行

我正在创建的文本编辑器在所有边上都有边距,我希望在文本到达标记的末尾时将其换行。我希望用户能够在文档中放置尽可能多的空格,而不必压缩

目前,我有空白:预包装,但是文档代码中的任何换行也会导致文档中的换行。这些换行是由我拥有的文档转换器引起的,我不想修改它,除非这是绝对必要的。虽然我不是绝对肯定,但我高度怀疑Firefox、Google Chrome、Internet Explorer和Safari是否都避免在代码中添加换行符。因此,我认为最好的选择可能是设置空白属性

从我所读到的关于空白的内容来看:行前,它听起来与我想要的完全相反,它折叠空格,并在代码行中断时中断

我希望有一个使用纯CSS的答案,但我可能能够使用一点Javascript,但我不想,因为这个问题不是最极端的

谢谢

编辑: 下面是一个JSFIDLE演示,演示了当前发生的情况: 代码: 测验 段落

代码结束 我想让示例中的“段落”一词不会跳过一行
请在换行之前执行此操作。

很抱歉,但我不确定是否有简单的CSS解决方案。使用JavaScript可能更容易:

HTML:
<p id = "code">[stuff]</p>
<!-- Set the CSS white-space property to pre-wrap. -->

JavaScript:
var codeElem = document.getElementById("code");
codeElem.innerHTML = codeElem.innerHTML.split("\n").join(" ↵ ");

你为什么不发布一个自包含的演示来展示你到目前为止所拥有的东西呢?我能看到你能够做到这一点的唯一方法是使用s。所以在这段代码中,代码元素被新行拆分成一个数组,新行在这个过程中被剥离,然后与↵ 字符作为一条长线?好吧,既然你已经设置了CSS宽度属性,没有。你需要去掉它,使它成为一个元素。如果希望它是一行,我建议去掉width属性,将height属性设置为20px,将whitespace属性设置为nowrap。不需要JavaScript。然而,这并不能保留空白。这样做的目的是保留空白,并在文本触及文档边界时将其换行。这也使得文本总是被蓝色包围,而我在这篇评论中提出的解决方案却没有。