使用white-space属性保留textarea的换行格式和空格格式

发布于:2024-10-24 编辑:匿名 来源:网络

背景 昨天产品需求审核的时候,产品经理收到了用户的反馈。系统中有一些文本字段需要用户填写文本。

文本内容和格式都可以保留。目前只能保存文本内容。

显示时文本字段中的换行符和空格显示不正确。收到这个请求后,我进行了搜索。

网上的方法大多是获取文本字段的内容,用html标签替换换行符和空格,例如
,使用JavaScript处理,然后转换数据并保存。后端在显示时使用innerHTML来显示在div或p标签内。

这里的一个很大的安全风险是脚本注入。如果用户输入一些脚本,而这些脚本未经处理就直接使用innerHTML显示在页面上,这是非常危险的。

所以我寻找另一种解决方案。最后,我发现设置空白元素样式可以正确显示文本字段中的换行符和空格。

White-space属性解释 下面是white-space的几个值及其解释 属性 newline space 和 tab 字符 newline end of line space 正常合并 合并换行符 delete nowrap 合并 合并无换行符 delete pre keep keep 无换行符 keep pre - 包裹保留保留换行符挂起前行保留合并换行符删除分隔符空格保留保留换行符正常连续的空白字符将被合并,换行符将被视为空白字符。填充“行框”时需要换行。

nowrap 和普通的一样,连续的空白字符会被合并。但文本内的换行符没有任何作用。

将保留前连续的空白字符。仅当遇到换行符或元素时才会发生换行。

将保留预换行的连续空白字符。当遇到换行符或元素时,或者需要填充“行框”时,就会发生换行。

行前连续的空白字符被合并。当遇到换行符或元素时,或者需要填充“行框”时,就会发生换行。

换行符的行为与预换行相同,除了:任何保留的空白序列总是占用空间,包括在行尾。每个保留空格字符之后(包括空格字符之间)都存在换行机会。

这样保留的空间占用了不悬挂的空间,从而影响了盒子的固有尺寸(最小内容物尺寸和最大内容物尺寸)。演示demo 另外,我还写了一个简单的demo来演示如何使用空白来正确显示文本字段中的文本格式。

从上图可以看到演示图。将元素的white-space属性设置为space-pre、pre-wrap、pre-line、break-space可以达到很好的效果。

使用white-space属性保留textarea的换行格式和空格格式

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 「褀氏生物」完成数千万元A轮融资

    「褀氏生物」完成数千万元A轮融资

    今日,「褀氏生物」宣布完成数千万元A轮融资。 本轮融资由景泽资本投资,募集资金将用于新产品研发和全球营销渠道建设。 褀氏生物科技成立于2007年,是家主创办的一家以自动化体外诊断系统平台为方向的科技公司。 目前研发方向涵盖细胞学体外诊断、免疫学体外诊断等领域。

    06-18

  • 安徽某县级引导基金招募GP

    安徽某县级引导基金招募GP

    萧县政府产业引导基金子基金管理机构招聘公告 根据《萧县政府产业引导基金管理办法(试行)》(萧政秘【】39号),萧县政府产业引导基金(以下简称(简称“基金之父”)现面向子基金管理机构公开征集。 具体公告如下: 一、子基金基本情况 (一)基金规模 子基金规模原则上不

    06-18

  • 小分子药物开发商“凌科药业”获5000万美元B轮融资,助力药物创新研发

    小分子药物开发商“凌科药业”获5000万美元B轮融资,助力药物创新研发

    投资界(ID:pedaily)8月27日消息,投资界获悉,近期,创新药研发开发公司凌科药业(杭州)有限公司(以下简称“凌科药业”)宣布完成1万美元B轮融资。 本轮融资由礼来亚洲基金领投,联芯资本、杭州和达生物医药产业基金跟投。 此外,现有投资者君联资本、鼎力资本继续加大投

    06-18

  • 佳源科技:2020年亏损近2亿元,同比下降超40%

    佳源科技:2020年亏损近2亿元,同比下降超40%

    今年佳源科技实现营业收入12.02亿元,同比下降16.86%;利润总额2.1亿元,同比下降44.70%;实现归属于母公司所有者的净利润1.85亿元,同比下降43.80%;扣除非经常性损益后归属于母公司所有者的净利润1.63亿元,同比下降48.04%。 听,中小企业反馈平台。 倾听用户需求,倾听创业

    06-18

  • 总投资55亿元的芯投微电子滤波器研发生产总部项目已封顶

    总投资55亿元的芯投微电子滤波器研发生产总部项目已封顶

    芯投微 据芯投微官方微信公众号消息,9月16日,芯投微电子滤波器研发生产总部项目封顶仪式隆重举行。 据悉,该项目总投资55亿元,位于安徽省合肥市高新技术产业开发区。 今年12月正式开工建设,计划于2019年投入运营。 项目建成初期将重点发展射频滤波器设计、研发、生产业务

    06-06

  • 专注敏感数据访问控制,“中图吉人”完成线性资本领投的数千万元Pre-A轮融资

    专注敏感数据访问控制,“中图吉人”完成线性资本领投的数千万元Pre-A轮融资

    投资界动态(ID:pedaily)9月15日消息,专注敏感数据访问控制安防厂商“看图识人”近日完成数千万元Pre-A轮融资。 据介绍,本轮融资由线性资本领投,驰星创投跟投,航程资本提供财务顾问服务。 中图世人成立于今年11月,目前专注于敏感数据访问控制,目标是将每个数字身份与

    06-18

  • 5亿,亿达资本设立无锡人才2号基金

    5亿,亿达资本设立无锡人才2号基金

    据投资界5月17日消息,无锡高新投资亿达鼎奇人才创业投资合伙企业(有限合伙)(简称:亿达无锡人才2号) 2基金)正式注册,基金规模5亿元。 亿达无锡人才二号基金由亿达资本与无锡市滨湖区政府共同发起设立。 主要围绕太湖湾科技创新带建设“十四五”规划,投资符合无锡太湖

    06-17

  • 能链集团获2亿美元战略融资,华兴资本独家FA

    能链集团获2亿美元战略融资,华兴资本独家FA

    能链集团近日宣布完成新一轮2亿美元战略融资,贝恩资本领投,老股东Joy资本持续投入,华兴资本担任独家FA。 独家财务顾问。

    06-17

  • Infinite Fund See Fund二期基金已完成募资6亿

    Infinite Fund See Fund二期基金已完成募资6亿

    投资界(ID:pedaily)5月23日报道,近日,Infinite Fund See Fund二期基金已顺利完成募资6亿,登陆山西。 负责人此前曾透露,See Fund二期基金拥有规模更大的LP资金,并得到了三一重工、中兴通讯等企业的支持。 去年2月,Infinite Fund See Fund完成首笔募资2亿元。 LP阵容极

    06-17

  • VR广告来了,你准备好了吗?

    VR广告来了,你准备好了吗?

    随着扎克伯格在世界移动大会(MWC)上通过VR与记者互动的照片广泛传播,越来越多的人开始关注VR,国内外的各类企业也开始尝试VR创业。 数据显示,短短一年时间,VR技术相关专利申请数量就达到1万件,瞬间爆发。 而考虑到Oculus Rift被Facebook以20亿天价收购的消息,人们也越

    06-18

  • 红杉资本推出规模500-6亿美元的加密货币投资基金

    红杉资本推出规模500-6亿美元的加密货币投资基金

    据The Block报道,红杉资本推出规模500-6亿美元的加密货币投资基金,主要投资流动性代币,包括已在加密货币交易所上市及尚未上市的代币,单个项目投资规模在10万至1万美元之间,计划参与从质押到提供流动性再到治理等流程。 这是红杉资本自2017年成立以来的首只行业专项基金

    06-17

  • 智能硬件厂商,为何要撬动11万亿美元的蛋糕?

    智能硬件厂商,为何要撬动11万亿美元的蛋糕?

    上周(2019年7月7日),麦肯锡全球研究院最新报告发布。 该机构认为,当前市场对物联网的炒作仍然低估了物联网市场的潜力。 同时,麦肯锡还预测,到2020年,物联网产业可为经济市场带来高达11.1万亿美元(约合人民币73万亿元)的价值。 这一数值高于中国每年的GDP产值(10.4万

    06-18