Bir HTML metin kutusunun boyutunu nasıl ayarlarım?


102

Bir HTML metin kutusunun boyutunu nasıl ayarlarım?

Yanıtlar:


119

Sadece kullan:

textarea {
    width: 200px;
}

veya

input[type="text"] {
    width: 200px;
}

'Metin kutusu' ile ne demek istediğinize bağlı olarak.


5
not: sadece yapmak düğmeler gibi inputdiğer inputkontrolleri de yeniden boyutlandırır
Homer

3
Bir metin kutusu <input type="textbox" />ve bir metin <textarea></textarea>alanı bir fark var.
Michael Garnizon

% Olarak nasıl yaparsınız?
kodlayıcı

2
@MichaelGarrison Ne demek type="text"istiyorsun? Herhangi bir type="textbox"yerde tanımlanmış bulunamıyor : w3.org/TR/html5/forms.html#states-of-the-type-attribute
Stefan L

Evet, type="text"demek istediğim buydu, sanırım bunu aceleyle yazdım
Michael Garrison

36

İşaretlemeniz:

<input type="text" class="resizedTextbox" />

CSS:

.resizedTextbox {width: 100px; height: 20px}

Metin kutusu boyutunun W3C kutu modelinin "kurbanı" olduğunu unutmayın . Kurban derken kastettiğim, bir metin kutusunun yüksekliği ve genişliğinin, dolgu yüksekliği / genişliği ve kenarlık genişliğine ek olarak yukarıda atanan yükseklik / genişlik özelliklerinin toplamı olmasıdır. Bu nedenle, metin kutularınız, farklı tarayıcılardaki varsayılan dolgulara bağlı olarak farklı tarayıcılarda biraz farklı boyutlarda olacaktır. Farklı tarayıcılar metin kutularına farklı dolgu tanımlama eğiliminde olsalar da, çoğu sıfırlama stil sayfası<input /> sıfırlama sayfalarına etiket ekleme eğiliminde değildir , bu nedenle bu akılda tutulması gereken bir şeydir.

Kendi dolgunuzu tanımlayarak bunu standartlaştırabilirsiniz. CSS'nizin belirli bir dolgusu olduğu için metin kutusu tüm tarayıcılarda aynı görünür:

.resizedTextbox {width: 100px; height: 20px; padding: 1px}

1 piksel dolgusu ekledim çünkü bazı tarayıcılar, dolgu 0px ise metin kutusunu çok sıkışık gösterme eğiliminde. Tasarımınıza bağlı olarak, daha fazla dolgu eklemek isteyebilirsiniz, ancak dolguyu kendiniz tanımlamanız şiddetle tavsiye edilir, aksi takdirde kendi adlarına karar vermek için farklı tarayıcılara bırakacaksınız. Tarayıcılar arasında daha fazla tutarlılık için, sınırı kendiniz de tanımlamalısınız.



6

Metin kutusu kodunuz:

<input type="text" class="textboxclass" />

CSS kodunuz:

input[type="text"] {
height: 10px;
width: 80px;
}

veya

.textboxclass {
height: 10px;
width: 80px;
}

Bu nedenle, önce nitelikleri (ilk örneğe bakın) veya sınıfları (son örneğe bakın) içeren öğenizi seçin. Daha sonra, öğenize yükseklik ve genişlik değerleri atarsınız.


1
Tavsiyen için teşekkürler. Bunu zaten düzenledim. Daha iyi sorular sormaya çalışacağım.
Lightsaber

4

Bu benim için IE 10 ve FF 23'te çalışıyor

<input type="text" size="100" />

Hayır, bu çoğu zaman işe yaramayacak, örneğin şu anki Chrome, yani 2015 dolaylarında en popüler tarayıcı
Tom Stickel

3
Bilginize, gelecekte bunu okuyan herkes, 2017 ortalarında Chrome 58'de sorunsuz çalışıyor.
Rick

2

Sınıf yöntemini kullanmak istemiyorsanız, metin kutusunda değişiklikler yapmak için ebeveyn-çocuk yöntemini kullanabilirsiniz.

Örneğin. Div formumda bir form oluşturdum.

HTML Kodu:

<div class="form">
<textarea name="message" rows="10" cols="30" >Describe your project in detail.</textarea>
</div>

Şimdi CSS kodu şöyle olacak:

.form textarea{
    height: 220px;
    width: 342px; 

Sorun çözüldü.


2

Bak! Width niteliği, max-width özelliği tarafından kırpılır. Ben de kullandım ...

    <form method="post" style="width:1200px">
    <h4 style="width:1200px">URI <input type="text" name="srcURI" id="srcURI" value="@m.SrcURI" style="width:600px;max-width:600px"/></h4>

1

Deneyin:

input[type="text"]{
padding:10px 0;}

Bu, metin kutusu için ayarlanan metin boyutundan bağımsız kalmanın bir yoludur. Bunun yerine dolgu kullanarak yüksekliği artırıyorsunuz


1

Bu kodu deneyin:

input[type="text"]{
 padding:10px 0;}

Bu şekilde, metin kutusu için ayarlanan metin boyutundan bağımsız kalır. Bunun yerine dolgu kullanarak yüksekliği artırıyorsunuz.



1

Bağımlı girdi genişliğini kap genişliğine göre yapabilirsiniz.

.container {
   width: 360px;
}

.container input {
   width: 100%;
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.