2013-06-02 9 views
12

Jak utworzyć pole tekstowe HTML, w które zmieści się dokładnie 3 znaki?
Znalazłem to: <input type="text" style="width: 10px; padding: 2px; border: 1px solid black"/>
Tworzy pole tekstowe o szerokości 10 pikseli. Mógłbym użyć tego, ale zastanawiałem się, czy możemy wyraźnie ustawić na 3 znaki, zamiast "grać" pikselami,Określ szerokość 3 znaków dla tekstu wejściowego html

+1

Interesująca dyskusja na ten temat [tutaj] (http://stackoverflow.com/q/1480588/589985) - atrybut 'size' powinien zadziałać, ale zostanie nadpisany przez dowolny CSS, który może mieć zastosowanie. I może nie być spójny w różnych przeglądarkach ... –

+0

@XavierHolt: "size" jest dla maksymalnego dopuszczalnego wejścia. Interesuje mnie szerokość – Cratylus

+2

@Craytus - Właściwie "rozmiar" wpływa tutaj na szerokość - "maxlength" to taka, która kontroluje maksymalną liczbę znaków. Sprawdź [tę stronę] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input), aby uzyskać dokładniejszy opis. –

Odpowiedz

10

Niezawodnie, ponieważ l i W mają bardzo różne szerokości.

Jeśli jednak ustawisz czcionkę na monospace, to pomaga. Wtedy powinieneś być w stanie ustawić size="3" na elemencie wejściowym, i teoretycznie powinno to być dokładnie trzy znaki szerokości.

+0

Zasadniczo działa to również w praktyce. Czcionki nie trzeba ustawiać na "monospace" (zależna od przeglądarki ogólna czcionka monospace), ale na * trochę * czcionki o stałej szerokości, np. z 'font-family: Consolas, Lucida Console, monospace'. –

Powiązane problemy