Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: vertical-align w polu input
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
Brick
Czy ktoś ma sposób na ustawienie pionowe tekstu w polu input?
Przykład
  1. <input type=text style="height:35px; width:100px;" value="Tutaj tekst">

FF i IE wyświetla wpisany tekst u góry, Opera na środku.
vertical-align:middle czy baseline nie działa.
padding-top - działa i przesuwa tekst w dół ale w Operze wtedy tekst jest już na dole tego pola.
Na sieci znalazłem też pomysły z line-height ale nie działa.
t4keda
Może da się to obejść przez coś takiego:

  1. <input type="text" style="height:15px; width:100px; padding: 5px 0px 5px 0px;" value="Tutaj tekst">


Ustawić niezbyt wysokie pole (tak żeby tekst się mieścił) i rozepchać je paddingiem?
Brick
Niestety FF w takim wypadku w ogóle nie pokazuje tekstu. Padding nie rozpycha pola input tylko sam tekst przesuwa w dół, poza pole input.
Chyba nie da się tego zrobić żeby było ok we wszystkich przeglądarkach.
t4keda
Ostatnio też musiałem wyśrodkować tekst w input i zrobiłem coś takiego:
  1. <input class="poletxt" type="text" value="Hasło"/>

  1. input.poletxt {
  2. background-color:#171717;
  3. border:2px solid #A8A8A8;
  4. color:#E8E8E8;
  5. font-family:tahoma,sans-serif;
  6. font-size:11px;
  7. height:15px;
  8. padding:5px 0;
  9. text-align:center;
  10. vertical-align:middle;


Tu możesz zobaczyć jak to wyszło: http://t4keda.cba.pl/jscript/contrast_css/
W moim FF3.5.3 ja widzę dosyć dobrze ustawiony tekst, więc to działa.
Brick
Dzięki za pomoc (klikam "pomógł")

Pomału doszedłem o co chodzi za pomocą twojego przykładu.
vertical-align:middle - niestety nie działa tak jak trzeba.
W FF i Opera bez różnicy czy jest czy nie ma, za to w IE środkuje napis ten obok pola input. IE jak zwykle luźno wszystko traktuje ;)

Przykład poniżej działa ok:
  1. input.poletxt
  2. {
  3. height: 17px;
  4. padding: 5px 0px 5px 0px;
  5. vertical-align:middle;
  6. }
  7. <p>Login: <input class="poletxt" type="text" value="Login" /></p>

Ale UWAGA!
DOCTYPE musi być XHTML
czyli
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
Gdy damy HTML to nie działa.

Tutaj jest przykład działający, może komuś się przyda
t4keda
vertical-align, jeśli dobrze pamiętam to nie środkuje tekstu względem elementu, ale element względem tekstu. Fakt, że jeśli masz jedną linijkę tekstu, która jest niższa od elementu któremu nadałeś vertical-align, to wygląda to jakby tekst przesuwany. Ale zobacz co się stanie jeśli będziesz miał długi tekst (kilka linijek) i dasz vertical-align (middle, top, bottom) obrazkowi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.