美文网首页
实现文本框内,部分字体颜色、字号等自定义

实现文本框内,部分字体颜色、字号等自定义

作者: Hi___World | 来源:发表于2020-10-30 19:49 被阅读0次

前言:最近产品提出一个新需求,要文本框的字体部分改变颜色、大小、换行等功能。在了解需求后,文本框input发现完全满足不了现需求,于是寻求其它解决方案。

给定字符串

    let text = '这是一段正常的文字\r\n这是换行(<font color="red">这是提示的红色</font>)\r\n这段文字为可编辑状态'

要实现的效果

方案一

  • 当发现文本框满足不了需求时,我第一感觉时不想麻烦,虽然把每一段内容拆成单独的input标签也可实现但是工作量太大,太过麻烦。我的思路是利用盒子的属性contenteditable直接将内容丢进div
<div contenteditable="true" id="text">
</div>

<script>
let text = '这是一段正常的文字\r\n这是换行(<font color="red">这是提示的红色</font>)\r\n这段文字为可编辑状态';
let dom = document.getElementById('text');
dom.innerHTML= text;
// 当编辑完成后 在取得div的内容就可以了
let resultText = document.getElementById('text').innerHTML;
console.log(resultText);
</script>

但是这样有一点满足不了,text文本中的\r\n识别不了

最终方案

  • 既然div识别不了\r\n那就换个能识别的标签,完美解决。
<pre contenteditable="true" id="text">
</pre>

<script>
let text = '这是一段正常的文字\r\n这是换行(<font color="red">这是提示的红色</font>)\r\n这段文字为可编辑状态';
let dom = document.getElementById('text');
dom.innerHTML= text;
// 当编辑完成后 在取得div的内容就可以了
let resultText = document.getElementById('text').innerHTML;
console.log(resultText);
</script>

效果如下

完成任务~
如果有其它最优解,欢迎留言指教。

相关文章

  • 实现文本框内,部分字体颜色、字号等自定义

    前言:最近产品提出一个新需求,要文本框的字体部分改变颜色、大小、换行等功能。在了解需求后,文本框input发现完全...

  • iOS 富文本

    富文本可以对选中的部分单独设置字体、字形、字号、颜色。

  • iOS 修改NavigationBar

    1、修改title的字体颜色以及字号大小 2、自定义返回按钮 3、修改UIBarButtonItem的字体颜色和字号

  • Apple Documentation <Foundati

    富文本NSAttributedString,有属性的字符串,可以设置字体,字号,颜色等属性。 以UILable为例...

  • 常用 Widget 部件介绍及 Flutter 布局方式

    文本控件 Text TextStyle: 为文字设置字号、颜色、字体样式等。$变量:可以通过 $变量 的形式对字符...

  • 编辑器内容样式

    这里字体字号颜色是H1 这里字体字号颜色是H2 这里字体字号颜色是H3 这里字体字号颜色是H4 这里字体字号颜色是...

  • YYLabel的富文本设置

    实现以上红框内的效果,设置部分字体内容的颜色为红色,前面按钮可以点击,红色字体内容也可以点击: 1、导入YYTex...

  • 「CSS」文本

    字体改变字号改变字体加粗字体倾斜字体更改行距font shorthand改变文字颜色 对齐方式文字居中文本垂直对齐...

  • 无标题文章

    iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等) 在iOS开发中...

  • css文本 表格 定位 显示 列表

    文本格式化 文本格式化控制字体:如字体大小、字体加粗、字体系列等设置文本格式:如文本颜色,文本排列和文本缩进等 字...

网友评论

      本文标题:实现文本框内,部分字体颜色、字号等自定义

      本文链接:https://www.haomeiwen.com/subject/viadvktx.html