Jak ustawić rozmiar pola tekstowego HTML?


102

Jak ustawić rozmiar pola tekstowego HTML?

Odpowiedzi:


119

Po prostu użyj:

textarea {
    width: 200px;
}

lub

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

W zależności od tego, co masz na myśli przez „pole tekstowe”.


5
uwaga: po prostu inputspowoduje to zmianę rozmiaru innych inputelementów sterujących, takich jak przyciski
Homer

3
Pole tekstowe jest, <input type="textbox" />a obszar tekstowy jest <textarea></textarea>różnica.
Michael Garrison,

Jak to robisz w%?
koder

2
@MichaelGarrison Masz na myśli type="text"? type="textbox"Nigdzie nie można znaleźć zdefiniowanego: w3.org/TR/html5/forms.html#states-of-the-type-attribute
Stefan L

Tak, o type="text"to mi chodziło, myślę, że właśnie napisałem to w pośpiechu
Michael Garrison

36

Twoje znaczniki:

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

CSS:

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

Należy pamiętać, że rozmiar pola tekstowego jest „ofiarą” modelu ramki W3C . Przez ofiarę mam na myśli to, że wysokość i szerokość pola tekstowego to suma właściwości wysokości / szerokości przypisanych powyżej, oprócz wysokości / szerokości dopełnienia i szerokości obramowania. Z tego powodu pola tekstowe będą miały nieco inny rozmiar w różnych przeglądarkach, w zależności od domyślnego wypełnienia w różnych przeglądarkach. Chociaż różne przeglądarki mają tendencję do definiowania różnych dopełnień pól tekstowych, większość resetowanych arkuszy stylów nie zawiera <input />znaczników w arkuszach resetowania, więc warto o tym pamiętać.

Możesz to ujednolicić, definiując własne wypełnienie. Oto twój CSS z określonym dopełnieniem, więc pole tekstowe wygląda tak samo we wszystkich przeglądarkach:

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

Dodałem 1 piksel wypełnienia, ponieważ niektóre przeglądarki sprawiają, że pole tekstowe wygląda na zbyt zapchane, jeśli wypełnienie wynosi 0 pikseli. W zależności od projektu możesz chcieć dodać jeszcze więcej wypełnienia, ale zdecydowanie zalecamy samodzielne zdefiniowanie wypełnienia, w przeciwnym razie pozostawisz to różnym przeglądarkom, aby zdecydowały same. Aby uzyskać jeszcze większą spójność między przeglądarkami, należy również samodzielnie zdefiniować granicę.



6

Twój kod pola tekstowego:

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

Twój kod CSS:

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

lub

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

Zatem najpierw wybierasz element z atrybutami (patrz pierwszy przykład) lub klasami (patrz ostatni przykład). Później przypisujesz wartości wysokości i szerokości do elementu.


1
Dzięki za radę. Już to edytowałem. Postaram się zadać lepsze pytania.
Lightsaber,

4

To działa dla mnie w IE 10 i FF 23

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

Nie, to nie będzie działać przez większość czasu, np. Obecny Chrome, czyli najpopularniejsza przeglądarka około 2015 roku
Tom Stickel

3
Do wiadomości każdego, kto to przeczyta w przyszłości, działa dobrze w Chrome 58 około połowy 2017 roku.
Rick

2

Jeśli nie chcesz używać metody klasy, możesz użyć metody rodzic-dziecko, aby wprowadzić zmiany w polu tekstowym.

Np. Zrobiłem formularz w mojej postaci div.

Kod HTML:

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

Teraz kod CSS będzie wyglądał następująco:

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

Problem rozwiązany.


2

Uważaj! Atrybut szerokości jest obcinany przez atrybut max-width. Więc użyłem ....

    <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

Próbować:

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

W ten sposób pozostaje niezależne od tego, jaki rozmiar tekstu został ustawiony dla pola tekstowego. Zamiast tego zwiększasz wysokość za pomocą wypełnienia


1

Wypróbuj ten kod:

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

W ten sposób pozostaje niezależne od tego, jaki rozmiar tekstu został ustawiony dla pola tekstowego. Zamiast tego zwiększasz wysokość za pomocą wypełnienia.



1

Możesz ustawić zależną szerokość wejściową względem szerokości kontenera.

.container {
   width: 360px;
}

.container input {
   width: 100%;
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.