pre标签对于HTML中的代码块和在编写脚本时调试输出非常有用,但是我如何使文本换行而不是打印出一行呢?


当前回答

最简单地说,这迫使内容包装在一个pre标签内,而不中断单词。

pre {
    white-space: pre-wrap;
    word-break: keep-all
}

其他回答

你可以:

pre { white-space: normal; }

要保持单行字体,但添加换行,或:

pre { overflow: auto; }

这将允许固定大小的水平滚动长行。

答案,从这个页面的CSS:

pre {
    white-space: pre-wrap;       /* Since CSS 2.1 */
    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+ */
}

我把@richelectron和@user1433454的答案结合起来。 它工作得很好,并保留了文本格式。

<pre  style="white-space: pre-wrap; word-break: keep-all;">

</pre>

最简单地说,这迫使内容包装在一个pre标签内,而不中断单词。

pre {
    white-space: pre-wrap;
    word-break: keep-all
}

这可以很好地包装文本并在pre-tag中保持空白:

pre {
    white-space: pre-wrap;
}