【问题标题】:make automatic line break in html?在html中自动换行?
【发布时间】:2010-09-15 08:15:56
【问题描述】:

我在 JSP 页面中有一个 HTML 文本区域。当我连续按下一个按钮并且光标到达行尾时,它会自动转到第二行。

当我得到这个文本并尝试在 <p> 标记内打印它时,换行符消失了 并且整个文本出现在一行中,而不是像我输入的那样在单独的行中 任何想法如何用新行正确打印它?

【问题讨论】:

    标签: html jsp


    【解决方案1】:

    如果你想在textarea中换行变成换行符(\n)设置wrap="hard",即:

    <textarea wrap="hard"></textarea>

    来源:https://developer.mozilla.org/en/HTML/Element/textarea

    【讨论】:

    • 我确实需要这样的东西,但在 spring 形式中:textarea 没有 wrap 属性
    【解决方案2】:

    听起来您希望将 textarea 的自动换行翻译成换行符。

    您在文本区域看到的是自动换行,而不是换行符。除非您按 Enter 手动换行,否则最终文本中不会有任何换行符。

    其次,如果您在文本中添加物理换行符,如果在 HTML 页面中显示它,您仍然不会看到它们,因为 HTML 会抑制空格和换行符。如果要查看换行符,则需要对 HTML 进行补偿。有两种方法可以做到这一点:

    • 使用您的编程语言(JSP,来自您的标签)将换行符替换为 HTML 将理解为换行符的
      标签。
    • 在设置为显示空白的块中显示页面上的文本。这可能是旧方法,使用
       标记,或者设置 white-space:pre-wrap; 的新方法; CSS 样式。 (注意如果你需要支持IE6,CSS样式不适合你,所以你需要使用

    【讨论】:

      【解决方案3】:

      *) 您可以在用户端限制A元素的宽度以启动中断;
      *) 或者您可以在服务器端插入中断

      【讨论】:

        【解决方案4】:

        您可以在服务器端使用此方法和/或将其实现为 JSP 标记:

        public static String nl2br(String s) {
          return s.replaceAll("\n","<br/>");
        }
        

        此方法将所有换行符替换为相应的 html 换行符。

        【讨论】:

          【解决方案5】:

          你可以这样使用:

          <p> Your Text Here <wbr> </p>
          

          在 HTML5 中,当浏览器没有空间时,这个标签会自动转到下一行,如果不需要中断,浏览器就忽略它

          【讨论】:

            猜你喜欢
            • 2010-11-11
            • 1970-01-01
            • 2023-03-10
            • 2010-11-18
            • 1970-01-01
            • 1970-01-01
            • 2011-06-06
            相关资源
            最近更新 更多