2

如何在 html 中创建一个文本区域,用户可以在其中更改字体样式、大小和颜色。我花了大约一个小时搜索无济于事。我可以找到简单的文本框,用户可以在其中输入数据,但不能在其中更改字体大小样式和颜色

谢谢

4

5 回答 5

2

尝试使用带有自定义配置工具栏的 TinyMCE 文本编辑器(您应该关闭不需要的工具栏按钮)

于 2013-03-21T04:17:04.890 回答
2

我认为您正在寻找 textarea (WYSIWYG) 编辑器。您可以通过谷歌搜索找到更多信息。试试这些,

CK编辑器

演示:http ://ckeditor.com/demo

TinyMCE

演示:http ://www.tinymce.com/tryit/full.php

有关更多信息,请查看这些链接以获取更多编辑器,

http://web.enavu.com/tutorials/14-jquery-and-non-jquery-rich-text-editors/

http://www.webdesignerdepot.com/2008/12/20-excellent-free-rich-text-editors/

于 2013-03-21T04:22:11.080 回答
1

在最基本的情况下,您可能需要编写一些 javascript。

例如,您可能有一个显示从 4px 到 30px 的字体大小的下拉菜单。例子:

<textarea id="textarea1">test 123</textarea>
<select onchange="textarea1.style.fontSize = this.value;">
     <option value="12px" selected="selected">12px</option>
     <option value="4px">4px</option>
     <option value="30px">30px</option>
</select>

对于更改背景颜色,onchange 代码可能带有红色、绿色textarea1.style.backgroundColor = this.value;等值。#ff0000#00ff00

要更改样式,您可能需要一些 if 语句,例如:

if(this.value == 'u')
    textarea.style.textDecoration = 'underline';
else
    textarea.style.textDecoration = '';
if(this.value == 'i')
    textarea.style.fontStyle = 'italic';
else
    textarea.style.fontStyle = 'normal';
if(this.value == 'b')
    textarea.style.fontWeight = 'bold';
else
    textarea.style.fontWeight = '';

尽管您可能需要稍微自定义上面的代码以适应组合样式,例如粗斜体。

于 2013-03-21T04:11:50.910 回答
0

尝试这个

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
  #container {width:100%; text-align:center;}

</style>
</head>

<body>
<div id="container">
<textarea name="mytextarea" cols="10" rows="10" style="font-family:comic sans ms"></textarea>
</div>
</body>
</html>
于 2013-03-21T04:02:33.607 回答
0

尝试这个 :-

$('btn1').click(function(){
$('textarea').css("font-style","italic");
}

我认为您必须为每种样式创建一个按钮列表,然后根据需要更改 css 方法的第二个参数。

于 2013-03-21T04:17:42.497 回答