【发布时间】:2017-09-05 03:45:22
【问题描述】:
我正在编写一个包含 shell 命令及其输出的教程。目的是文本不仅看起来像(linux)控制台,而且读者可以从中复制粘贴命令。
为此,文本必须像真正的控制台一样换行:所以没有分词,但也没有额外的换行符。前一行满了就开始新行。
编辑:另外,连续的空格不能被修剪,所以一行可能在任何地方有多个空格,即使它们必须正确呈现
例如看http://iwant.sourceforge.net/ext-libs-in-wsdef.html的开头
那里的命令比行长,所以它会换行。但是第一行末尾没有换行符。
我尝试了几种技巧,但都没有奏效。浏览器要么在单词边界处换行,要么根本不换行。或者然后我需要添加换行符或 div,在复制粘贴时产生不正确的内容(额外的换行符)。不间断空格 (nbsp) 也无济于事:它们根本不会(大吃一惊)中断。
我能想到的唯一解决方案是一个丑陋的 hack:我在字符之间插入了空的 img 元素。但是,就像许多丑陋的黑客一样,它只是暂时起作用:至少在当前的 chrome 版本中它仍然可以正确呈现,但是如果你将文本复制粘贴到控制台,它将包含一些代表 img 元素的废话字符。
那么在 HTML 中是否有一些“让我们换行而不是真正的换行符”元素?或者字符之间的零宽度“分隔空间”字符可以解决问题,但我还没有找到这样的字符或元素。还是 CSS 中有类似控制台的换行模式?
或者我是否需要使用 javascript 以编程方式操作选择?
【问题讨论】:
-
也许只是在你的文本中添加一些额外的 " (a spacetab)。这应该可以完成工作,即使它不是一个非常干净的方式。
标签: javascript html css