Jeśli ustawię stałą szerokość na elemencie textarea, czy istnieje elegancki sposób ustawienia wysokości domyślnej na rozmiar, który pozwoliłby na dopasowanie całej zawartości?Element TextArea - domyślny rozmiar pasujący do treści
Miałem nadzieję uniknąć kodowania w jquery, które porównywał text.length i próbowałem zrównywać wartość do wysokości, ale może to jedyny sposób, chciałbym zobaczyć jakąś natywną regułę css jeśli możliwe, ale nie mogę myśleć o niczym z mojej głowy.
Stworzyłem skrzypce ilustrujące to, co próbuję osiągnąć. http://jsfiddle.net/edZgm/
oto kod:
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>
Dziękuję w sposób dvance.
wierzę to zrobić-stanie (z jQuery, nie CSS), ale trudne. Myślę, że możesz zmienić rozmiar textarea za pomocą jquery po załadowaniu strony i zawartości textarea, a następnie obliczyć wysokość potrzebną do zliczania znaków i linii tekstu, ale to zależy bardzo od twojej czcionki i CSS dla tego tekstu. Byłoby łatwiej, gdybyś użył czcionki o stałej szerokości. – Revent
Możesz chcieć zobaczyć, co robi wtyczka 'autogrow' w jQuery. – karthikr
ah, to dobry punkt, nawet nie myślałem o rozmiarze czcionki. Hmm, to prawie na pewno musi być oparte na JS/JQ ... trzeba by prawdopodobnie spojrzeć na rozmiar czcionki i wysokość linii, następnie określić długość treści i określić, ile znaków pasuje do linii, obliczyć liczbę linie i oblicz wysokość na podstawie numeru linii pomnożonego przez wysokość linii. –