代码之家  ›  专栏  ›  技术社区  ›  David

是否可以在一个文本区域中使用几种不同的文本颜色?

  •  17
  • David  · 技术社区  · 16 年前

    我希望文本区域中的几个词/阶段以不同的颜色显示…我该怎么做呢?下面是一个例子,我想用绿色这个词来表示绿色等…

    <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 回复  |  直到 16 年前
        1
  •  12
  •   Nick Craver    16 年前

    你不能这样做 里面 <textarea> ,不是可编辑的。听起来你在追求 WYSIWYG editor ,其中大多数使用 <iframe> 这样做。

    有几个javascript选项可供选择:

        2
  •  8
  •   Cannicide    9 年前

    不能使用文本区域或输入标记执行此操作。但是,正如@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>
    

    <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>
        3
  •  6
  •   Carl Walsh    7 年前

    我认为单独使用文本区域和HTML是不可能的。你需要的是一个富文本框 你也可以 roll your own 通过修改iframe,或使用 popular ones available

    当您以启用HTML5的浏览器为目标时,可以使用的其他选项是 contentEditable 属性。您可以使用它生成类似文本框的控件

        4
  •  2
  •   Community Mohan Dere    9 年前

    这在正常的文本区域中是不可能的。

    • 有关突出显示类似方法的语法,请参见 this question .

    • 要获得更复杂、更成熟的WYSIWYG解决方案,它可以处理颜色以及其他格式、图像等,请参阅WYSIWYG编辑器,如 CKEditor .

        5
  •  1
  •   Community Mohan Dere    9 年前

    对于默认的HTML控件,您不能这样做。您可以使用富文本框编辑器获取所需内容,例如选中此问题:

    What is the best rich textarea editor for jQuery?

        6
  •  1
  •   Sinan    16 年前

    这在当前的W3C规范中是不可能的。如果您正在寻找解决方案,请检查 codemirror editArea 用于解决语法突出显示的问题。