Come si imposta la dimensione di una casella di testo HTML?


102

Come si imposta la dimensione di una casella di testo HTML?

Risposte:


119

Usa solo:

textarea {
    width: 200px;
}

o

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

A seconda di cosa intendi per "casella di testo".


5
nota: facendo solo inputridimensionerai anche altri inputcontrolli come i pulsanti
Homer

3
Una casella di testo è <input type="textbox" />e un'area di testo <textarea></textarea>c'è una differenza.
Michael Garrison

Come lo fai in%?
un codificatore

2
@MichaelGarrison Vuoi dire type="text"? Impossibile trovare type="textbox"definito da nessuna parte: w3.org/TR/html5/forms.html#states-of-the-type-attribute
Stefan L

Sì, type="text"è quello che volevo dire, penso di averlo scritto in fretta
Michael Garrison,

36

Il tuo markup:

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

Il CSS:

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

Tieni presente che la dimensione della casella di testo è una "vittima" del modello di casella W3C . Quello che intendo per vittima è che l'altezza e la larghezza di una casella di testo sono la somma delle proprietà altezza / larghezza assegnate sopra, oltre all'altezza / larghezza del riempimento e alla larghezza del bordo. Per questo motivo, le tue caselle di testo avranno dimensioni leggermente diverse nei diversi browser a seconda del riempimento predefinito nei diversi browser. Sebbene browser diversi tendano a definire un riempimento diverso per le caselle di testo, la maggior parte dei fogli di stile di ripristino non tende a includere <input />tag nei fogli di ripristino, quindi questo è qualcosa da tenere a mente.

Puoi standardizzarlo definendo la tua imbottitura. Ecco il tuo CSS con il riempimento specificato, quindi la casella di testo ha lo stesso aspetto in tutti i browser:

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

Ho aggiunto 1 pixel padding perché alcuni browser tendono a rendere la casella di testo troppo piena se il padding è 0px. A seconda del design, potresti voler aggiungere ancora più imbottitura, ma ti consigliamo vivamente di definirla tu stesso, altrimenti lascerai che siano diversi browser a decidere da soli. Per una coerenza ancora maggiore tra i browser, dovresti anche definire il bordo da solo.



6

Il codice della tua casella di testo:

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

Il tuo codice CSS:

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

o

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

Quindi, prima seleziona il tuo elemento con attributi (guarda il primo esempio) o classi (guarda l'ultimo esempio). Successivamente, assegni i valori di altezza e larghezza al tuo elemento.


1
Grazie per il tuo consiglio. L'ho già modificato. Cercherò di fare domande migliori.
Spada laser

4

Questo funziona per me in IE 10 e FF 23

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

No, questo non funzionerà per la maggior parte del tempo, ad esempio l'attuale Chrome, ovvero il browser più popolare intorno al 2015
Tom Stickel

3
Cordiali saluti, chiunque legga questo in futuro, funziona bene in Chrome 58 verso la metà del 2017.
Rick

2

Se non desideri utilizzare il metodo di classe, puoi utilizzare il metodo genitore-figlio per apportare modifiche nella casella di testo.

Per es. Ho creato un modulo nel mio modulo div.

Codice HTML:

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

Ora il codice CSS sarà come:

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

Problema risolto.


2

Attenzione! L'attributo width è ritagliato dall'attributo max-width. Quindi ho usato ...

    <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

Provare:

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

In questo modo rimane indipendente dalla dimensione del testo impostata per la casella di testo. Stai aumentando l'altezza usando invece il riempimento


1

Prova questo codice:

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

In questo modo rimane indipendente dalla dimensione del testo impostata per la casella di testo. Stai aumentando l'altezza usando invece il riempimento.



1

È possibile impostare la larghezza di input dipendente rispetto alla larghezza del contenitore.

.container {
   width: 360px;
}

.container input {
   width: 100%;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.