如果我在textarea元素上設置了固定寬度,是否有一種優雅的方式將高度默認設置爲允許其所有內容適合的大小?TextArea元素 - 默認大小以適應內容
我希望避免硬編碼jquery中的任何東西,它會比較text.length並嘗試將值等同於高度,但也許這是唯一的方法,我很想看到一些本地css規則if可能,但我似乎無法想到我的頭頂上的任何東西。
我創建了一個小提琴,演示了我試圖完成的事情。 http://jsfiddle.net/edZgm/
下面的代碼:
CSS:
textarea {
overflow: hidden;
}
JQuery的:
$('document').ready(function() {
$('textarea')
.width(500);
//I have a width set, but see how the height defaults to a rediculously small amount.
//I'd like to have the height default to fit everything on load.
});
HTML:
<textarea> ... lots of text </textarea>
感謝您在dvance。
我相信這是做-能(使用jQuery,而不是CSS),但困難。我認爲你可以在加載頁面和textarea內容後用jquery調整textarea的高度,然後計算字符和文本行數所需的高度,但這很大程度上取決於文本的字體和CSS。如果您使用固定寬度的字體,會更容易。 – Revent 2013-04-11 18:04:12
你可能想看看'autogrow'插件在jQuery中做了什麼。 – karthikr 2013-04-11 18:06:09
啊,這是一個很好的觀點,我甚至沒有想過字體大小。嗯,那麼它幾乎肯定必須是JS/JQ的基礎......你可能需要查看字體大小和行高,然後確定內容長度並確定每行將適合多少個字符,計算線,並根據線號乘以線高計算出一個高度。 – 2013-04-11 18:07:55