textarea的高度与Firefox中的行不匹配

40 html firefox textarea

textarea的rows属性与Firefox中的行数不匹配.例如:

<textarea rows=4 cols=40>
1
2
3
4
this line is visible in FF
</textarea>
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/Z7zXs/6/

我该如何解决这个问题?textarea应该只显示4行(而不是5行)rows=4.

Ser*_*erg 68

有很多答案,但不适合我:

  • CSS rule(height: 5em;)不灵活enoutgh,因为它完全覆盖了rows属性
  • 而且我不想使用JavaScript

有一个"错误":TEXTAREA错误地应用ROWS =和COLS =

所以这是我的解决方案:

FF为TextArea添加高度以保留滚动条的位置.

我不需要水平滚动条,因此它有助于解决问题:可以将以下css规则添加到textarea:

overflow-x: hidden;
Run Code Online (Sandbox Code Playgroud)

这是一个例子.它甚至可以使用rows=1.

  • 这是一个比接受的答案更好的答案. (3认同)
  • 设置溢出对我来说非常适合,谢谢!我认为FF为滚动条腾出空间解释了这种差异. (2认同)

Lek*_*eyn 18

Firefox总是在文本字段后添加一行.如果您希望它具有恒定的高度,请使用CSS,例如:

textarea {
    height: 5em;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Z7zXs/7/

编辑: 您还可以使用@-moz-document url-prefixCSS扩展仅针对Firefox浏览器.例

@-moz-document url-prefix() {
    textarea {
        height: 5em;
    }
}
Run Code Online (Sandbox Code Playgroud)