我想要一个文本区域来显示与相同宽度的div元素相同的文本,它在Chrome中工作得很好,但是Firefox在文本区域的右边有一个白色的块,可以去掉最后一个字母。
你可以在这里找到一个jsfiddle示例:http://jsfiddle.net/ngn6Y/9/,它包含与下面相同的代码:
var fontsize = '12px';
$(function(){
var t = 'abcdefg';
var e = $('body');
var a = $('<div>').appendTo(e).text(t)
.css({
border:'thin solid black',
position:'absolute',
top:'40px',
padding:'2px',
margin:0,
height:fontsize,
'font-size':fontsize,
'font-family': '"lucida grande",Tahoma, Arial,sans-serif'
});
var b = $('<textarea>').appendTo(e).val(t)
.css({
border:'thin solid black',
padding:'2px',
margin:0,
outline:0,
resize:'none',
overflow:'hidden',
height:fontsize,
'word-wrap':'break-word',
'font-size':fontsize,
'font-family': '"lucida grande",Tahoma, Arial,sans-serif'
}).width(a.width());
});谢谢!
编辑:感谢IonuțG.Stan在下面的回答,我给这个问题增加了另一个限制:这个文本区需要换行,例如使用“换行”:“换行”,否则当一个单词超过允许的最大宽度时,文本阴影的整个点就会丢失。
发布于 2011-05-19 03:30:35
将word-wrap: normal添加到文本区。似乎解决了FF 4.0.1中的问题。
发布于 2011-05-19 03:13:35
为了与Internet Explorer兼容,Firefox为文本区域增加了额外的0px 1px填充。
https://stackoverflow.com/questions/6049786
复制相似问题