用css控制textarea文本域的高度隨內容的變化而變化,不出現滾動條.
CSS代碼:
.t_area{
width:300px;
overflow-y:visible
}
<textarea class="t_area">
隨便在這里輸入內容,textarea的高度會隨著你輸入的內容而變化,不會出現滾動條,實現很簡單,就是一段css:overflow-y:visible
</textarea>
首先,原則上實現textarea自適應必須適用css,不能直接適用“width=100%”這樣的寫法,具體示例:
<style>
textarea
{
width:100%;
height:100%;
}
</style>
<textarea name="textarea">
xxxxx
</textarea>
統一在FF、IE下的顯示效果:
如果用textarea的屬性字數寬度(cols)和行數(rows)來控制textarea的大小你會發現在,在IE和FF下的每行字數和文字的行數都不相同,而且在字數不足滾動的情況下,IE是默認有滾動條的,而FF是沒有滾動條的。
那如何控制textarea在IE中和FF中相同的效果呢,其實比較簡單:
1、用textarea的寬度(widht)和高度(height)來定義textarea的大小;
2、讓滾動條自適應:overflow-y:auto。
IE6中textarea寬度問題
textarea設了100%寬度,在IE7,FIREFOX都正常顯示.但在IE6里只要輸入文字就會自動增寬.
解決方法:在textarea外再加一個100%寬的div.
讓人抓狂的ie6 !!!!
overflow的允許屬性:auto、visible、hidden
示例:
overflow-x:visible;
overflow-y:visible;
用js實現版本
提示:您可以先修改部分代碼再運行
css實現版本(不能在標準頁面中執行,已經就是不能加
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
)
<title>文本域自適應高度</title>
<textarea style="width:300px;overflow-y:visible">在這里輸入一些字符看一下,當超出初設的文本域高度時,文本域自動伸縮變高。
另一個js版本textarea自適應高度
項目中要求textarea自適應高度,在網上找到這個很好的方法 。記錄下來以后備用。
function BodyOnLoad()
{
var textarea= document.getElementById("textarea");
textarea.style.posHeight=textarea.scrollHeight;
}
scrollHeight:獲取對象的滾動高度。
posHeight:設置或獲取以 height 標簽屬性指定的單位的對象高度。
把方法加在body的onload事件上
<body onload = "BodyOnLoad();">
綜上所述,兼容性什么的用css實現的稍微好點,但是非標準情況下,才可以。
原文 來源 網絡:http://www.cnblogs.com/CaptainLin/p/4218814.html
文章列表