white-space 处理 textarea 文本内容的换行 空格

2023-12-26 09:48

本文主要是介绍white-space 处理 textarea 文本内容的换行 空格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

前端开发可能会遇到这样的场景,用户通过 <textarea> 文本域输入文本,前端拿到数据后需要对文本内容进行空白符处理,进行换行等。
如果直接就将字符串显示在界面中,得到的可能不是我们所期待的效果。
接下来记录通过 css 的 white-spaceword-break 实现文本处理空白格,文本换行。

二、默认情况下,文本空白符的处理

空白符,指的是空格、换行、制表符。

如下图,通过 <textarea> 输入几种测试格式的文本。
在这里插入图片描述

<style>.str {width: 300px;border: 1px solid #333;margin: 30px auto;padding: 10px;}
</style>
<div id="str" class="str"></div>
<script>// 从 textarea 拿到的数据const str = '哈哈哈\n嘎嘎嘎 哈哈哈\n嘎嘎嘎   哈哈哈哈\nProgress is the activity of today and the assurance of tomorrow . incomprehensibilitieeeeeeeeeeeeeeeeeeeeee\n哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇\n\n换两行'document.getElementById('str').textContent = str
</script>

将上面的代码运行结果进行截图:
在这里插入图片描述

从上图可以看到文本的显示并不是我们想要的效果,本来在文本域中换行的地方,实际上都没换行,而是一个空格。
这是因为默认情况下,所有空格、换行、制表符合并成一个空格,遇到边界文本自动换行。

三、word-break 实现处理空白符 实现换行

我们可以通过 css 的 word-break 来处理空白符。

1.nowrap

word-break: nowrap; 所有的空格、换行、制表符合并成一个空格,遇到边界,文本不换行,除非遇到 <br /> 标签。

在这里插入图片描述

如上图的效果(文字太长不好截图,中间的英文被我删除了一部分),连续出现的换行、空白、制表符会合并成一个,并且文本不会进行换行。

2.pre

pre,会保留所有的空白符(空格、换行、制表符),文本遇到边界不自动换行,类似 HTML 中的 <pre> 标签。

在这里插入图片描述

如上图效果,连续多个空白多都可以正常的出现,但是文本过长不会自动换行。

3.pre-line

word-break: pre-line; 会保留空格、换行、制表符,将连续出现的多个空白符合并为一个,文本遇到边界自动换行。

在这里插入图片描述

如上图效果,第三行本来有连续出现两个空格符,被合并成一个。连续出现的换行符正常显示,并且文本自动换行。(英文单词太长,没有自动换行导致溢出的问题后面再处理)

4.pre-wrap

word-break: pre-wrap; 会保留所有的空白符(空格、换行、制表符),文本遇到边界自动换行。

在这里插入图片描述

如上图效果,全部空白格都会正常显示,第三行本来有连续出现两个空格符也正常出现了。

四、英文长句没有自动换行导致溢出

浏览器默认情况下,遇到长单词且一行放不下时,就会将长单词进行换行处理。
在这里插入图片描述

如上图,incomprehensibilitieeeeeeeeeeeeeeeeeeeeee 单词过长,无法在 …tomorrow 后面继续显示下去,所以会换到下一行显示。
但是 incomprehensibilitieeeeeeeeeeeeeeeeeeeeee 单词本身太长,一行依旧容不下,这时就会出现溢出现象。

1.word-wrap: break-word 进行单词断句

注:word-wrap 属性原本属于微软的一个私有属性,在 CSS3 现在的文本规范草案中已经被重名为 overflow-wrap 。 word-wrap 现在被当作 overflow-wrap 的 “别名”。

在这里插入图片描述

如上图效果,长单词 incomprehensibilitieeeeeeeeeeeeeeeeeeeeee 会换行,并且一行显示不下会再换行显示。

2.word-break: break-all 进行单词断句

在这里插入图片描述
如上图效果,长单词会被直接断句,而不是换到下一行,可以防止长单词前边留下大片空白,但是单词被直接截断,对阅读不太友好。

3.word-break: break-word 进行单词断句

在这里插入图片描述
效果等同 word-wrap: break-word;

这篇关于white-space 处理 textarea 文本内容的换行 空格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/538956

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2