前端答疑—换行如何输出在页面上

简介: 工作中我们有下面几种方式收集用户输入的内容input 输入框,单行,整体样式,纯文本。textarea 输入框,多行,整体样式,纯文本。contentEditable,多行,独立样式,富文本。其他富文本编辑器,多行,独立样式,富文本。在不想使用那么重的富文本编辑器的情况下,又想可以换行,那么 textarea 就是我们的不二之选。下面我们就来说一下,如何在回显的时候也显示换行。

方案一:textarea 显示



既然我使用 textarea 输入的,那么我使用 textarea 显示总可以吧。


测试地址


textarea 方案优点


  1. 无 xss 注入风险


  1. 无需特殊处理,内部就认识 \n ,空格也认识


textarea 方案缺点


  1. 需要设置不可编辑


  1. Readonly
  2. Disabled


  1. 需要设置不可缩放


  1. resize:none


  1. 无法自动撑开内容区域


  1. 需要 js 辅助计算,具体代码我就不写了。原理就是构造一个和当前 textarea 一样大的 div,然后使用 div 的高度。一般用于可以输入的 textarea 自动变大。


方案二:v-html、innerHTML、.html()


既然我们不识别 \n,那我们就把他转换成标签来显示。


这个方案最大的问题就是千万小心 xss 问题。


bVbExWe.webp.jpg


测试地址


优点


  1. 可以自动撑开内容区


缺点


  1. xss 注入风险,需要转义为实体编码。


  1. 空格还是不识别。


方案三:v-text、innerText、textContent、.text()


这个方案也就 innerText 还可以。因为 innerText 会自动转换 \n<br>


bVbExYY.webp.jpg


测试地址


优点


  1. 无 xss 注入问题


缺点


  1. 只有 InnerText 会自动转换换行
  2. 不支持空格。


方案四:特殊标签 <pre>


bVbExZm.webp.jpg


这个方案就很理想了。


测试地址


优点


  1. 支持空格
  2. 支持换行
  3. 兼容性极好


缺点


  1. 需要使用特定标签?这也不算 bug 吧。


  1. 不换行。


方案五:white-space


基于方案四,其实还有对应的css方案,那就是 white-space


测试地址


bVbEx0r.webp.jpg

bVbEx0r.webp.jpg缺点


  1. 兼容性问题吧


优点


  1. 属性值较多,可以适配各种场景
相关文章
|
3月前
|
缓存 前端开发 JavaScript
如何优化前端页面性能
前端性能优化是网站开发中非常重要的一部分,它直接关系到用户体验和网站的流量以及排名。本文将介绍一些优化前端页面性能的方法,包括减少HTTP请求、压缩代码、使用CDN等。
|
2月前
|
存储 前端开发 JavaScript
【JavaEE初阶】 博客系统项目--前端页面设计实现
【JavaEE初阶】 博客系统项目--前端页面设计实现
|
6月前
|
缓存 前端开发 JavaScript
【前端用法】jquery获取当前页面的URL信息
【前端用法】jquery获取当前页面的URL信息
52 0
|
6月前
|
前端开发 安全 JavaScript
关于前端页面测试和抵御 clickjacking attack 的一些方法
关于前端页面测试和抵御 clickjacking attack 的一些方法
51 0
|
2月前
|
存储 前端开发 安全
无限连接:前端跨页面通信的实现与应用
在前端开发中,有时我们需要在不同的页面之间进行数据传递和交互。这种场景下,前端跨页面通信就显得尤为重要。前端跨页面通信是指在不同的页面之间传递数据、发送消息以及实现页面间的交互操作。本文将详细介绍前端跨页面通信的属性、应用场景以及实现方法,并提供一些代码示例和引用资料,帮助读者深入了解并应用这一重要的技术。
|
7月前
|
开发框架 前端开发 JavaScript
前端框架Layui的使用讲解(Layui搭建登录注册页面)(一)
前端框架Layui的使用讲解(Layui搭建登录注册页面)
433 0
|
3月前
|
移动开发 监控 前端开发
HTML5与CSS3教学:美化员工行为监控软件前端页面的代码技巧
在当今信息时代,企业对员工行为的监控成为了一项必不可少的工作。而员工行为监控软件作为一种高效的管理工具,其前端页面的设计和美化显得尤为重要。本文将介绍如何利用HTML5和CSS3技术,优雅地美化员工行为监控软件前端页面的代码技巧。
215 0
|
4月前
|
JSON 前端开发 Java
(简易详细)spring boot 使用拦截器 实现拦截前端请求并返回json到前端页面
(简易详细)spring boot 使用拦截器 实现拦截前端请求并返回json到前端页面
109 0
|
4月前
|
前端开发
前端知识笔记(十八)———页面首次滑动不可返回
前端知识笔记(十八)———页面首次滑动不可返回
19 0
|
2月前
|
前端开发 搜索推荐 索引
【零基础入门前端系列】—网页标题、段落标记、强制换行、水平线(二)
【零基础入门前端系列】—网页标题、段落标记、强制换行、水平线(二)