2011-03-13 24 views
36

aşağıda gösterilen HTML, Metni kaydırma = "text" eleman HTML/CSS

<input type="text"/> 

şöyle bir tarayıcıda görüntülenir:


Ben aşağıdaki metni eklediğinizde ,

Hızlı kahverengi tilki tembel köpeğin üzerinden atladı. Aşağıdaki HTML kullanarak

,

<input type="text" value="The quick brown fox jumped over the lazy dog."/> 

o kadar gibi bir tarayıcıda görüntülenir:


Ama şöyle bir tarayıcıda görüntülenebilir istiyorum:


Te istiyorum Benim giriş öğemde xt sarın. Bu bir textarea olmadan yapılabilir mi? satırlı metin girişi için - textarea 'ın işidir

+2

Hayır, yapabileceğini sanmıyorum. Ama neden bir textarea bir seçenek değil? –

+11

Bir metin parçası kullanmak bazen bir seçenek değildir, çünkü çok sayıda metin satırına izin vermek istemezsiniz. Sadece tek bir metin satırı sarmak için (Not: Onlar aynı şey değildir). –

cevap

30

. inputwon't do it; Bunu yapmak için tasarlanmamıştı.

Yani bir textarea kullanın. Görsel farklılıklarının yanı sıra, JavaScript ile aynı şekilde erişilebilirler (value özelliğini kullanın).

Sen yeni satırlar input olay üzerinden girilir ve sadece replace(/\n/g, '') kullanarak ediliyor önleyebilir.

+0

Tamam sanırım bir textarea kullanacağım o zaman. Teşekkürler! –

+18

Bu, giriş sırasında sarılmış olarak görüntülerken tek bir giriş satırının nasıl toplanacağı sorusunu gerçekten yanıtlamaz. – ehdv

+2

@ehdv: Sorulan sorunun cevabının olmaması gibi gelecek en iyi şey. – rvighne

26

Kelime Molası Sen bunun için değil kullanım girişi varsa, textarea kullanmak gerekir edebilirsiniz niyet

input.break { 
    word-wrap: break-word; 
    word-break: break-all; 
    height: 80px; 
} 
+2

Bu bir gerçek cevap – userlond

+0

herkesin tüm tarayıcılarda ne kadar iyi uygulandığını bilen var mı? – commonpike

+2

Sadece Firefox 43.0.4'de test ettim ve işe yaramıyor çünkü Safari 9 ve Chrome 48'de çalışıyor: http://www.cssdesk.com/dbCSQ –

3

bazı taklit edecek. Böyle wrap="soft" kodu ve niteliklerin opsiyonel kalanı ile Kullanım textarea:

<textarea name="text" rows="14" cols="10" wrap="soft"> </textarea> 

atributes: örneğin onun içinde hiç "40" karakterleri metin miktarını sınırlamak için sizin gibi niteliğini maxlength="40" ekleyebilir Bu: <textarea name="text" rows="14" cols="10" wrap="soft" maxlength="40"></textarea> Bunun için stili kaydırın. Yalnızca overflow:scroll; veya overflow:hidden; veya overflow:auto; kullanırsanız, yalnızca bir kaydırma çubuğu için etkilenir.

<textarea name="text" rows="14" cols="10" wrap="soft" maxlength="40" style="overflow:hidden; resize:none;></textarea> 

sahip Bu şekilde: Eğer böyle resize:none; stil kullanabilirsiniz textarea boyutlandırılabilir değil yapmak için : Her kaydırma çubuğu için farklı özelliklerini istiyorsanız stili alanında bu overflow:scroll; overflow-x:auto; overflow-y:hidden; gibi özelliklerini kullanmak ya da örnek olarak 14 satırlı bir metin ve 10'luk bir kelime ve en fazla karakter uzunluğundaki "40" karakter uzunluğunda bir giriş metin kutusu gibi çalışır, ancak bunun yerine satırlar ve giriş metni kullanılmaz.

NOT: textarea hiç satırlarla değil çalışmaları yapılır girişi <input type="text" name="tbox" size="10"></input> gibi aksine satırlar ile çalışır.