Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 HTML/CSS文本区域高度自动?文本正在落后_Javascript_Html_Css - Fatal编程技术网

Javascript HTML/CSS文本区域高度自动?文本正在落后

Javascript HTML/CSS文本区域高度自动?文本正在落后,javascript,html,css,Javascript,Html,Css,我的文本区域有一个情况,我想使高度等于内容的高度 .form-style-4{ 宽度:550px; 字体大小:16px; 填充:10px 10px 10px 10px; } .form-style-4输入[类型=提交], .form-style-4输入[类型=按钮], .form-style-4输入[类型=文本], .form-style-4输入[类型=电子邮件], .form-style-4文本区域, .form-style-4标签{ 字体系列:佐治亚州,“泰晤士报新罗马”,泰晤士报,衬线;

我的文本区域有一个情况,我想使高度等于内容的高度

.form-style-4{
宽度:550px;
字体大小:16px;
填充:10px 10px 10px 10px;
}
.form-style-4输入[类型=提交],
.form-style-4输入[类型=按钮],
.form-style-4输入[类型=文本],
.form-style-4输入[类型=电子邮件],
.form-style-4文本区域,
.form-style-4标签{
字体系列:佐治亚州,“泰晤士报新罗马”,泰晤士报,衬线;
字体大小:16px;
}
.form-style-4文本区{
字体:斜体;
填充:0px 0px 0px 0px;
背景:透明;
大纲:无;
边界:无;
边框底部:1px虚线#83A4C5;
宽度:275px;
溢出:隐藏;
调整大小:无;
高度:20px;
}
.form-style-4文本区域[名称=工作描述]{
显示:内联块;
最小高度:10px;
}

洛雷姆·伊普苏姆,哦,好吧,洛雷姆·伊普苏姆,哦,好吧,好吧,好吧

根据我所能收集到的信息,您正试图使textarea显示其中的所有文本-如果是这样,为什么不在textarea标记中添加一个rows属性?您也不需要设置高度

<textarea rows="3"></textarea>


根据我所能收集到的信息,您正试图使textarea显示其中的所有文本-如果是这样,为什么不在textarea标记中添加一个rows属性?您也不需要设置高度

<textarea rows="3"></textarea>

下面是另一个使用
contenteditable
属性的解决方案

div{
宽度:98%;
最小高度:50px;
边框:1px点黑色;
填充物:5px;
}
在此处键入文本
下面是另一个使用
contenteditable
属性的解决方案

div{
宽度:98%;
最小高度:50px;
边框:1px点黑色;
填充物:5px;
}

在此处键入文本
抱歉,使用纯css无法根据文本区域的内容更改文本区域的高度。当添加了多行时,您必须使用javascript或为其提供一个固定高度,可能还有一个滚动条..:(

抱歉,使用纯css无法根据文本区域的内容更改文本区域的高度。如果添加了太多行,您必须使用javascript或为其指定一个固定高度,还可能提供一个滚动条。)(

这解决了我的问题:

function h(e) {
                $(e).css({ 'height': 'auto', 'overflow-y': 'hidden' }).height(e.scrollHeight -20);
                }
                $(".form-style-4 textarea[name='jobdescription']").each(function () {
                    h(this);
                }).on('input', function () {
                    h(this);
                }); 

这解决了我的问题:

function h(e) {
                $(e).css({ 'height': 'auto', 'overflow-y': 'hidden' }).height(e.scrollHeight -20);
                }
                $(".form-style-4 textarea[name='jobdescription']").each(function () {
                    h(this);
                }).on('input', function () {
                    h(this);
                }); 

这是怎么复制的?我问如果html/css只有文本区域是只读的,但是文本来自数据库,那么这是可能的。内容的高度不是固定的。可以是1行,但也可以是4行,那么为什么要设置固定高度(`height:20px`)到文本区域?只需设置
height:auto
,它将具有其内容的高度,是吗?已经尝试过,您真的需要使用文本区域?或者您想要的是内容(添加的文本)可编辑?如果可能,是,它必须看起来像另一个(可变)textarea和其他输入类型的显示是否与之重复?我问这是否仅适用于html/css,因为textarea是只读的,但文本来自数据库。内容的高度不是固定的。可以是1行,但也可以是4行,那么为什么要设置固定高度(`height:20px`)到文本区域?只需设置
height:auto
,它将具有其内容的高度,是吗?已经尝试过,您真的需要使用文本区域?或者您想要的是内容(添加的文本)可编辑?如果可能,是,它必须看起来像另一个(可变)textarea和其他输入类型如果内容始终相同,那么它们确实可以工作,不幸的是,在我的情况下,它可以在1到5行之间。如果内容始终相同,那么它们确实可以工作,不幸的是,在我的情况下,它可以在1到5行之间。我想你是对的,我可能需要javascript,但没有idea如何进行在线加载。哦,好吧,再次使用谷歌:)是的,谷歌是你最好的朋友,有很多不同的好js/jquery解决方案:-)祝你好运!我认为你是对的,我想我需要javascript,但不知道如何在加载时执行此操作。哦,好吧,又到谷歌的时候了:)是的,谷歌是你最好的朋友,有很多不同的好js/jquery解决方案:-)祝你好运!