Я бы хотел, чтобы текстовая область отображала тот же текст, что и элемент 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());
});
Спасибо!
Редактировать: благодаря ответу отДалее Г. Стэн. Я добавил еще одно уточнение к вопросу: эта текстовая область должна быть заключена в разрывное слово, например, с помощью 'word-wrap': 'break-word', в противном случае весь смысл затенения текста теряется, когда словодлиннее максимально допустимой ширины.