這已被問到,但因爲它似乎不適用於Javascript。Textarea根據內容及其長度自動調整自己的字體大小
我想創建一個TextArea,它包含兩組字體大小,一個用於包含少於3行的字體大小,另一個用於包含不止於此的字體大小。
唯一的問題是,不僅Textarea中的行數會影響所選的字體大小,而且還會是內容量,因爲當某人只輸入一行文本而沒有一個換行符時,Textarea將打破線條(不幸的是,使用另一個水平滾動可用的包裝並不是一種解決方案)。
我創建一個的相關詳細的jsfiddle:http://jsfiddle.net/kF9LY
我怎樣才能測量textarea的的一個方式。價值的內容,將給我所使用的線的明確計算,無論是由換行或由內容超過所述寬度單行(因此顯示在第二行)?
最後,我設法找到了一個基於測量scrollHeight的解決方案。我很幸運,即使溢出也是如此:隱藏。這並不容易,因爲我必須在每次按鍵後通過模擬添加另一個字符來進行計算。當我使用非固定寬度字體時,我選擇將大寫「W」字符添加到textareas內容中,然後測量之後發生的事情。之後我會刪除額外的字符。雖然起初它感覺像一個骯髒的方法,結果證明工作得很好。 – SquareCat
@ user1018787不錯! – dqhendricks