2013-06-24 20 views
9

İçindeki metin kadar büyük bir metin alanına sahip olmak isterim. Böylece sayfa kaydırılabilir ve metin alanında kaydırılamaz.
İşte şimdiye kadar yaptık:HTML TextArea otomatik olarak yeniden boyutlandır

<!DOCTYPE html> 
<html> 
<head> 
<style type="text/css"> 
html, body {height: 100%;} 
textarea { 
border: none; 
width: 100%; 
height: 100%; 
-webkit-box-sizing: border-box; 
line-height: 44px; 
font-family:Helvetica; 
font-size: 17pt; 
-webkit-tap-highlight-color: rgba(0,0,0,0); 
background-image:url('[email protected]'); 
outline: none; 
resize: none; 
} 
textarea.vert { resize:vertical; } 
</style></head><body> 
<textarea id="InputTextArea" placeholder="placeholder"></textarea> 
</body></html> 
+0

[otomatik yeniden boyutlandırma ile bir textarea oluşturma] olası yinelenen (http metne göre metin alanının yüksekliğini artırmak classess dahil classess var .com/questions/454202/create-a-textarea-with-auto-resize) –

+0

Tepki kullanıyorsanız, bunun için bir paket oluşturdum: https://www.npmjs.com/package/react-fluid-textarea –

cevap

7

içerik hat sayısına bağlı yeniden boyutlandırma TeaxArea. Burda bu DEMO

JS

function resizeTextarea (id) { 
    var a = document.getElementById(id); 
    a.style.height = 'auto'; 
    a.style.height = a.scrollHeight+'px'; 
} 

function init() { 
    var a = document.getElementsByTagName('textarea'); 
    for(var i=0,inb=a.length;i<inb;i++) { 
    if(a[i].getAttribute('data-resizable')=='true') 
     resizeTextarea(a[i].id); 
    } 
} 

addEventListener('DOMContentLoaded', init); 

HTML

<textarea id="InputTextArea" placeholder="placeholder" onkeyup="resizeTextarea('InputTextArea')"></textarea> 
+0

Bu cevap özlü, ama sonuç çok düzgün değil. Metin, giriş alanının genişlemesinden önce biraz daha zıplar ve ideal kullanıcı deneyiminden daha azına yol açar. Chris G.'nin cevabı daha iyi bir çözüm veriyor –

1

Eğer angularjs kullanıyorsanız, bunu yapabilirsiniz: Bununla

<textarea ng-keyup="ctl.handleTextAreaHeight($event)"></textarea> 

controller içerisinde:

// stackoverflow:
0

Kullanım Bootstrap, otomatik o

+0

... ve sınıf isimleri ...? – infografnet

+0

+0

bootstrap ayrıca şu etiketlere de stil verir: –

İlgili konular