textarea 调整宽度而不是高度,为什么?

问题描述 投票:0回答:4

这是我尝试过的:

<textarea name='text' spellcheck = "true" style="height: 4em; width: 80%;" id="wider"></textarea>

我也尝试过用 px 或 % 设置高度,但这两种方法都不起作用。我还在我的 css 文件中尝试了以下操作(以及在 css 中将高度设置为 %、px 或 em,这也不起作用):

#wider{
    width: 80%;
    height: auto;
}

我可以使用内联样式命令或 css 调整宽度,没有问题。为什么高度应该不同,我还可以尝试什么?

感谢您的任何建议。

更新:我还尝试在内联和 CSS 样式中设置 rows 属性。我知道内联会否决CSS。我只想要一个能工作。现在,宽度属性始终会进行调整以反映我的更改,但高度始终保持不变。还有什么我应该看的吗?再次感谢!

html css textarea
4个回答
6
投票

在本例中,表单中的文本区域隐藏了一个“最小高度”属性。显然,高度的内联样式设置不会覆盖 CSS 文件中的 min-height 属性。


1
投票

如果您使用内联样式标签,它将优先于 CSS 样式。

height 属性按预期工作: JSfiddle 在这里。

如果您有预期要使用的行数,还可以使用文本区域上的 rows 属性来设置高度。

<textarea name='text' spellcheck="true" id="wider" rows="5"></textarea>

0
投票

一旦某些父元素改变了自己的尺寸(例如高度),您就可以使用 JavaScript 来调整文本区域的尺寸。您将调用 functios(ES6 Javascript 版本):

const makeDimensionsEqual = (someTextareaSelector, someParentElementSelector) => {

  document.querySelectorAll(someTextareaSelector)[0].style.height = 
    document.querySelectorAll(someParentElementSelector)[0]
    .getBoundingClientRect().height + "px"

}

const someTextareaSelector = '...' 
const someParentElementSelector = '...'
makeDimensionsEqual(someTextareaSelector, someParentElementSelector)

0
投票

免责声明:我只能猜测为什么它有效,但它在我的 WordPress 中有效...... 我拔出了头发,试图让文本区域响应 css“高度:自动”调整。偶然间,在尝试输入来自“Moussawi7”的“oninput=”javascript建议时[参见问题https://stackoverflow.com/questions/17772260/textarea-auto-height],我无法开始工作,我添加了一个绑定到

© www.soinside.com 2019 - 2024. All rights reserved.