<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>文本框高度自适应</title> <style type="text/css"> #shadow, #text { font: 12px/16px Arial; 200px; overflow: hidden; height: 16px; } #shadow { position: absolute; border- 0px; padding: 0px; visibility: hidden; } #text { resize: none; } </style> <script type="text/javascript"> window.onload = function () { var text = document.getElementById("text"); //用户看到的文本框 var shadow = document.getElementById("shadow"); //隐藏的文本框 text.oninput = //非IE的 text.onpropertychange = //IE的 onchange; function onchange() { shadow.value = text.value; setHeight(); setTimeout(setHeight, 0); //针对IE 6/7/8的延迟, 否则有时会有一个字符的出入 function setHeight() { text.style.height = shadow.scrollHeight + "px"; } } }; </script> </head> <body> <textarea id="text"></textarea> <textarea id="shadow"></textarea> </body> </html>