是否可以在一个textarea中有几个不同的文本颜色?

时间:2010-08-08 16:47:16

标签: html css

我想在textarea中的几个单词/阶段以不同的颜色显示......我将如何做到这一点?下面是一个例子,我希望绿色这个词出现绿色等等......

<textarea style="width: 100%; height: 100%; resize: none;">
Is it possible to have multiple colors in a textarea? 
How would i set certain phases or words to be different colors? 
"Green"
"Red"
"Blue"
</textarea>

6 个答案:

答案 0 :(得分:12)

你不能在<{1}}里面 {<}},而不是可编辑的。这听起来像是在WYSIWYG editor之后,其中大多数都使用<textarea>来执行此操作。

有几种JavaScript选项,仅举几例:

答案 1 :(得分:9)

您无法使用textarea或输入标记执行此操作。但是,正如@naikus所提到的,您可以使用contenteditable属性。它如下:

<div id="mytxt" contenteditable="true">
   Hello, my name is <span style="color: blue;">Bob</span>
   and I have a friend name <span style="color: green;">Joe</span>.
</div>

&#13;
&#13;
<div id="mytxt" contenteditable="true">
       Hello, my name is <span style="color: blue;">Bob</span> and I have a friend name <span style="color: green;">Joe</span>.
    </div>
&#13;
&#13;
&#13;

答案 2 :(得分:6)

我不认为单独使用textarea和html可以做到这一点。你需要的是一个富文本框 您可以roll your own修改iframe,也可以使用popular ones available

当您定位启用html5的浏览器时,您可以拥有的其他选项是contentEditable属性。您可以使用它来制作类似文本框的控件

答案 3 :(得分:2)

这在正常的textarea中是不可能的。

  • 对于类似语法突出显示的方法,请参阅this question的答案。

  • 对于可以执行颜色以及其他格式,图像等的更复杂,功能齐全的WYSIWYG解决方案,请参阅像CKEditor这样的WYSIWYG编辑器。

答案 4 :(得分:1)

使用默认的html控件无法执行此操作。您可以使用Rich Text Box编辑器来获得您想要的内容,例如,请查看以下问题:

What is the best rich textarea editor for jQuery?

答案 5 :(得分:1)

目前的w3c规格无法做到这一点。如果您正在寻找解决方法,请查看codemirroreditArea,了解语法突出显示的解决方法。