pre标签对于HTML中的代码块和在编写脚本时调试输出非常有用,但是我如何使文本换行而不是打印出一行呢?
当前回答
这是你需要在pre标签中包装文本:
pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
其他回答
这就是我所需要的。它可以防止文字断裂,但允许在预区域的动态宽度。
word-break: keep-all;
如果你使用prism或任何代码格式化库,那么你将需要修改展位前和代码标签如下:
pre {
overflow-x: auto !important;
white-space: pre-wrap !important; /* Since CSS 2.1 */
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap !important; /* Opera 4-6 */
white-space: -o-pre-wrap !important; /* Opera 7 */
word-wrap: break-word !important; /* Internet Explorer 5.5+ */
}
code{
white-space: normal !important;
}
我建议忘记预,只是把它放在一个文本区域。
你的缩进将保持不变,你的代码不会在路径或其他东西的中间被换行。
如果你想复制到剪贴板,也更容易在文本区域中选择文本范围。
下面是一个php摘录,所以如果你不是在php,那么你包装html特殊字符的方式会有所不同。
<textarea style="font-family:monospace;" onfocus="copyClipboard(this);"><?=htmlspecialchars($codeBlock);?></textarea>
有关如何在js中复制文本到剪贴板的信息,请参阅:如何在JavaScript中复制到剪贴板?.
然而……
我刚刚检查了stackoverflow代码块,他们包装在一个<code>标签包装在<pre>标签与css…
code {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
}
pre {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
margin-bottom: 10px;
max-height: 600px;
overflow: auto;
padding: 5px;
width: auto;
}
此外,stackoverflow代码块的内容是使用(我认为)http://code.google.com/p/google-code-prettify/突出显示的语法。
这是一个很好的设置,但我只是去与文本区域现在。
使用空白:预换行和供应商前缀,用于预压纸内的自动断行。
不要使用word-wrap: break-word,因为这只是把一个单词分成两半,这可能是你不想要的。
最简单地说,这迫使内容包装在一个pre标签内,而不中断单词。
pre {
white-space: pre-wrap;
word-break: keep-all
}
推荐文章
- 如何以及在哪里使用::ng-deep?
- Angular 2模板中的标签是什么意思?
- 如何设置身体高度溢出滚动
- 在输入type="number"时禁用webkit的旋转按钮?
- 如何在另一个元素之后添加一个元素?
- 我如何有效地解析HTML与Java?
- “ ”和“”有什么区别?
- 如何使用JavaScript代码获得浏览器宽度?
- 防止滚动条增加到Chrome页面的宽度
- 使用图像而不是单选按钮
- 将RGB转换为白色的RGBA
- 我可以嵌套一个<按钮>元素内< >使用HTML5?
- 设置TextView文本从html格式的字符串资源在XML
- 为什么我的球(物体)没有缩小/消失?
- Twitter Bootstrap 3 Sticky Footer