Können Sie einen grauen Hinweis in einem HTML-Textfeld nur mit CSS anzeigen?

7

Sie sehen diese Texteingabefelder von Zeit zu Zeit im Internet: Ein graues Etikett wird in der Box angezeigt, aber sobald Sie dort eingeben, verschwindet der graue Text. Diese Seite hat sogar einen: Das Feld "Titel" verhält sich genau so.

Also, Fragen:

  1. Gibt es dafür einen Standardbegriff? Ich habe wirklich Mühe, bei Google etwas zu finden

  2. Kann es nur mit CSS gemacht werden?

  3. Falls dies nicht gelingt, kann dies mit lokalem JavaScript geschehen? (dh Code nur innerhalb des Tags, nicht im HTML-Header).

Steve Bennett ㄹ 27.09.2010, 04:29
quelle

7 Antworten

6

Das Attribut "placeholder" wird jetzt in allen gängigen Browsern unterstützt.

%Vor%

Das Formatieren erfordert immer noch Hersteller-Präfixe:

%Vor%

Gesehen hier: Ссылка

    
Steve Bennett ㄹ 15.05.2012, 01:26
quelle
6

Ich kenne keine Möglichkeit, dies mit CSS zu tun. Aber wenn man sich die Seitenquelle anschaut, macht SO es so:

%Vor%

Die mittlere Zeile, die mit "onfocus" beginnt, ist die Stelle, an der die Arbeit stattfindet. Wenn das Textfeld den Fokus erhält, prüft es, ob der Standardwert ("Suche") vorhanden ist. Ist dies der Fall, wird der Wert auf '' (leere Zeichenfolge) gesetzt. Ansonsten ist der Text nicht betroffen.

Ein potenzielles Problem hier ist, dass, wenn jemand versucht, nach dem Wort "Suche" zu suchen, dann außerhalb des Feldes klickt und wieder einklickt, wird der Text zurückgesetzt. Kein großes Problem, aber etwas, das Sie im Auge behalten sollten, während Sie arbeiten.

    
AaronM 27.09.2010 04:39
quelle
6

Der Standardname ist Wasserzeicheneingabe.

Folgen Sie dieser Seite, wenn Sie an JQuery interessiert sind Ссылка

    
fanbondi 17.05.2011 17:29
quelle
4

Wenn Sie dies nur mit HTML + CSS nur möchten, können Sie versuchen, das neue HTML5-Attribut placeholder input zu verwenden. Leider wird dieses Attribut nicht häufig unterstützt. Versuchen Sie daher, ein Skript wie Modernizr zu verwenden, um die Browserunterstützung für diese Funktion für ein Feature wie dieses zu erkennen .

Ich würde nicht empfehlen, Inline-Javascript dafür zu verwenden - es ist eine schlechte Praxis und widerspricht dem Prinzip der Trennung von Inhalt und Verhalten. Mit jQuery funktioniert beispielsweise so etwas:

%Vor%     
Yi Jiang 27.09.2010 04:43
quelle
2

Es gibt eine HTML-Funktion für neue Browser.

Verwenden Sie einfach das Attribut "Platzhalter":

& lt; input id="inputbox" type="text" placeholder="Tipptext hier" & gt;

    
Amiga500Kid 04.08.2013 23:22
quelle
1
  1. Ich nenne sie Eingabeetiketten. Ich weiß nicht, ob es ein Standard
  2. ist
  3. Nein - du könntest, wenn ihnen Kindelemente wie so erlaubt wären

%Vor%

Aber du kannst keine Kinder von Eingaben (AFAIK) haben, also funktioniert nicht .

  1. Ja, siehe obigen Link (mit jQuery, aber ohne trivial)
alex 27.09.2010 04:42
quelle
1

Sie haben wahrscheinlich schon die Antwort gefunden, nach der Sie suchen, aber für andere kann das helfen

%Vor%

...

%Vor%

hoffe das hilft

    
Raitei 19.09.2013 14:26
quelle

Tags und Links