文本区域的高度与 Firefox 中的行不匹配
文本区域的 rows
属性与 Firefox 中的行数不匹配。例如:
<textarea rows=4 cols=40>
1
2
3
4
this line is visible in FF
</textarea>
示例: http://jsfiddle.net/Z7zXs/6/
我该如何解决这个问题问题?对于 rows=4
,文本区域应仅显示 4 行(而不是 5 行)。
The textarea's rows
attribute does not match the number of lines in Firefox. For instance:
<textarea rows=4 cols=40>
1
2
3
4
this line is visible in FF
</textarea>
Example: http://jsfiddle.net/Z7zXs/6/
How can I fix this issue? The textarea should only display 4 lines (instead of 5) for rows=4
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有很多答案,但不适合我:
height: 5em;
) 不够灵活,因为它完全覆盖rows
属性有一个“bug”: TEXTAREA 错误地应用了 ROWS= 和 COLS=
所以这是我的解决方案:
FF 向 TextArea 添加高度以预留滚动条的位置。
我不需要水平滚动条,因此它有助于解决问题:可以将以下 css 规则添加到文本区域:
Here是示例。它甚至适用于
rows=1
。There are lot of answers but wasn't suitable for me:
height: 5em;
) is not flexible enoutgh because it completely overridesrows
attributeThere is a "bug": TEXTAREA incorrectly applying ROWS= and COLS=
So here is my solution:
FF adds height to the TextArea to reserve place for scroll-bars.
I don't need horizontal scroll bar so it helps with fixing the issue: following css rule can be added to textarea:
Here is example. It works even with
rows=1
.Firefox 总是在文本字段后添加一行。如果你希望它具有恒定的高度,请使用 CSS,例如:
http://jsfiddle.net/Z7zXs/7/
编辑:
您还可以使用
@-moz-document url-prefix
CSS 扩展仅针对 Firefox 浏览器。例子Firefox always adds an extra line after the textfield. If you want it to have a constant height, use CSS, e.g.:
http://jsfiddle.net/Z7zXs/7/
EDIT:
You can also use the
@-moz-document url-prefix
CSS extension to target only the Firefox browser. Example您可以使用 JavaScript 来固定高度(或硬编码
4x1.2 = 4.8em
的高度)。示例 (JQuery),修复每个文本区域的问题:
CSS 属性
line-height
的值等于每行(“row”)的高度。因此,当您定义了row
后,此代码将修复高度。当
rows
属性未设置时,代码将查看默认值 (.prop("rows")
)。You can fix the height by using JavaScript (or hard-code a height of
4x1.2 = 4.8em
).Example (JQuery), fix the issue for each textarea:
The value of the
line-height
CSS property equals the height of each line ("row"). So, when you've definedrow
, this code will fix the height.When the
rows
attribute is not set, the code will have a look at the default value (.prop("rows")
).我曾经遇到过同样的问题,但我无法使用 CSS,所以 JavaScript 是唯一的方法:这是 Mootools 和 jQuery 的方法来做到这一点:
Mootools:
jQuery:
It will check if the browser is firefox, if is,它将检查行是否已被更正,如果没有,它们将被修复。
I've had the same problem once and i couldn't use CSS, so JavaScript is the only way: Here's the Mootools and jQuery ways to do this:
Mootools:
jQuery:
It will check if the browser is firefox, if it is, it will check if the rows have been corrected already, and if not they will get fixed.