Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使textarea元素看起来像普通文本_Javascript_Html_Css - Fatal编程技术网

Javascript 如何使textarea元素看起来像普通文本

Javascript 如何使textarea元素看起来像普通文本,javascript,html,css,Javascript,Html,Css,我正在尝试创建一个html列表,用户可以在其中编辑页面上显示的项目,并使用文字处理应用程序中的标准键和习惯用法浏览这些项目。有点像 我通过给每个列表项一个textarea来实现这一点。最初,文本编辑器的样式会将其隐藏,但如果列表项类设置为“编辑器”,则会显示文本区域,而列表文本不会显示。举例 如果您转到该示例,您会注意到,当您单击列表项时,它看起来就像您期望的那样(在本示例中,您只能通过单击项来导航,而不能使用箭头键)。唯一真正的问题是文本框比文本行高,因此当文本框显示列表项时,列表项会变得更高

我正在尝试创建一个html列表,用户可以在其中编辑页面上显示的项目,并使用文字处理应用程序中的标准键和习惯用法浏览这些项目。有点像

我通过给每个列表项一个textarea来实现这一点。最初,文本编辑器的样式会将其隐藏,但如果列表项类设置为“编辑器”,则会显示文本区域,而列表文本不会显示。举例

如果您转到该示例,您会注意到,当您单击列表项时,它看起来就像您期望的那样(在本示例中,您只能通过单击项来导航,而不能使用箭头键)。唯一真正的问题是文本框比文本行高,因此当文本框显示列表项时,列表项会变得更高。我想不出如何消除这种影响


干杯

以防您不想重新发明轮子,请检查一下,或者哪一个轮子正是这样做的。两者都是HTML5编辑器。

你有没有可能改用它


这看起来很好,我可能最终会使用它,但我仍然想知道如何使用textarea大小解决这个问题,主要是想知道如果在另一个场景中出现问题,如何解决它。@Alexjg-好的,更新我的答案
<li contenteditable>
  <h2>Item text</h2>
</li>
h2, ul li textarea {
    font-size: 16px; 
    font-family: arial; 
    height: 19px;
}

ul li textarea {
    display: none;
    /*border: 1px solid gray;*/
    outline: 1;
    border: 0;
    resize:none;
    overflow: hidden;
}

ul li.editor textarea {
    display: block;
}
ul li.editor h2{
    display:none;
}