Ähnlich wie Twitter Mitte 2012.
input[type=text], textarea {
-webkit-transition: all 0.30s ease-in-out;
-moz-transition: all 0.30s ease-in-out;
-ms-transition: all 0.30s ease-in-out;
-o-transition: all 0.30s ease-in-out;
outline: none;
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid #DDDDDD;
}
input[type=text]:focus, textarea:focus {
box-shadow: 0 0 5px rgba(81, 203, 238, 1);
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid rgba(81, 203, 238, 1);
}
Siehe den Pen Leuchtende blaue Eingabefelder von Chris Coyier (@chriscoyier) auf CodePen
Großartig, aber ich habe mich gefragt, was „tabindex=1“ im HTML bedeutet? Ich schätze, es hat etwas mit der Tabulator-Taste zu tun, aber ich konnte nichts dazu finden.
Tabindex definiert die Position (0 – 32767), die das Element in der Tabulatorreihenfolge der Seite hat – dies wäre wahrscheinlich für Benutzer von Bildschirmleseprogrammen gedacht.
Wenn kein Fehler vorliegt, wird tabindex verwendet, um die Tastaturnavigation über die Tabulatortaste zu steuern.
tabindex=”1″ bedeutet, dass es das erste Element ist, das bei Drücken der Tabulatortaste den Fokus erhält. Dann gelangen Sie zum nächsten Element im Fluss oder zu tabindex=”2″, falls vorhanden.
Ich persönlich verwende tabindex nicht, da der normale Fluss dies impliziert, aber wenn Sie eine knifflige Navigation haben, z. B. zwei Reihen von Eingabefeldern (nur so als Beispiel), dann möchten Sie vielleicht, dass der Fokus zuerst auf das untere Element springt oder so.
Ich schätze, der einzige Fall, in dem ich tabindex verwende, ist bei einem nicht angezeigten Eingabefeld, das zur Erkennung von Spam-Bots dient: Ich setze es auf tabindex=”-1″, um ein seltsames Verhalten zu verhindern.
Übrigens, Chris, wirklich schöne leuchtende Fokusstile. ;)
Dies dient der manuellen Festlegung der Reihenfolge Ihrer Formularelemente. Browser und Bildschirmleseprogramme ordnen sie automatisch nach der Reihenfolge im Quellcode an. Die Angabe von tabindex überschreibt dieses Verhalten der Tabulatorreihenfolge.
Tabindex ist ein wichtiges Feature für die Barrierefreiheit und sollte nicht vermieden werden. Keine Beleidigung. Wenn Sie tabindex in Betracht ziehen, sind die besten Implementierungen mit tabindex=”0″ und tabindex=”-1″. Der Wert 0 stellt sicher, dass Ihr Tabbing-Verhalten dem DOM-Fluss folgt, sodass nichts Seltsames zu befürchten ist. -1 vermeidet Tastatur-Tabbing und behält gleichzeitig seine Fähigkeit bei, den Fokus zu erhalten, wie es bei der Maus der Fall wäre.
Ich möchte auch erwähnen, dass diejenigen unter Ihnen, die ein Formular einrichten müssen, auf die Reihenfolge von tabindex (von einigen als Fokusverwaltung bezeichnet) achten sollten, da dies sicherstellen kann, dass Ihre Benutzer nicht frustriert sind, wenn sie versuchen, durch die Benutzeroberfläche zu tabben. Typischerweise sollten Sie in diesem Formular keine Bestellsysteme verwenden, daher würde ich von tabindex=”1″ abraten und mich darauf konzentrieren, sicherzustellen, dass der DOM-Fluss einem tabindex=”0″-Ansatz entspricht.
Das Leuchten ist übrigens ziemlich gut. Nicht zu übertrieben, wie einige Beispiele, die ich gesehen habe.
Tab index ist nützlich, wenn Formulare bearbeitet werden. Wenn alle Eingabefelder denselben Index haben, wird das nächste Feld fokussiert, standardmäßig ist dies in HTML vorhanden. Verwenden Sie dies also nur, wenn Sie es benötigen.
:) :) :) :)
Hallo Chris,
Ich liebe es, die `box-shadow`- und `transition`-Eigenschaften zu verwenden, um diesen Effekt zu erzielen.
Bei `
Danke!
Habe noch nie die `:focus`-Sache gesehen. Ist das eine CSS3-Funktion oder von früheren Versionen?
Yoram bedeutet auf Hebräisch „Idiot“, was hier perfekt passt.
Julien ist der Idiot, nicht Yoram.
Es ist CSS2.
:focus wird dafür verwendet, dass etwas einen Effekt hat, wenn man darauf klickt. Wenn Sie also eine Farbe bei :focus einfügen, wird sie beim Klicken diese Farbe haben.
Sehr schöner einfacher Effekt.
Ich habe es schon einmal gesehen, aber nie darüber nachgedacht, wie es funktioniert.
Es stellt sich heraus, dass es ziemlich einfach ist.
Das bringt mich zum Nachdenken über Eingabefelder und die Verwendung von Farben, um anzuzeigen, was ich möchte, dass die Website-Besucher tun. Subliminale Anweisungen.
Ich verstehe nur eins nicht. Warum wird RGBA verwendet? Wäre ein einfacher Hex-Code nicht einfacher? Bietet er irgendeinen zusätzlichen Vorteil?
Deckkraft.
Wird das von IE 9 oder neuer unterstützt?
Gibt es eine Möglichkeit, dies zu *einigen* Formulareingaben hinzuzufügen?
Ich habe versucht, dies zu einer WordPress-Site hinzuzufügen, die ich erstelle, um sie in ein Kontaktformular einzufügen. Das Problem ist, dass es zu allen anderen Eingabefeldern hinzugefügt wird (z. B. mein Suchfeld).
Ich habe versucht, ihnen Klassennamen zu geben, z. B. `blueform` und `blueform focus`, aber es wird immer noch von ihnen aufgenommen.
Vielen Dank,
msuth
Ich möchte nur hinzufügen, dass es bei mehrzeiligen Textfeldern funktioniert, aber nicht bei einzeiligen.
Es scheint, als hätten Sie eine Fallback-Option für ältere Browser beim Fokus vergessen.
oder er kümmert sich einfach nicht um Leute, die 100 Jahre alte Browser benutzen, was ich für viel professioneller halte. Warum sollte ein professioneller Entwickler veraltete Browser voller Sicherheitslücken unterstützen und den Benutzer denken lassen, es sei in Ordnung, bei dieser alten Version zu bleiben?
Danke fürs Teilen! Gibt es eine Möglichkeit, dies auf `
Ich bin mir nicht sicher, ob das ist, was die Leute suchen, wenn es darum geht, dieses CSS auf `
Ich bin noch nie auf ein Szenario gestoßen, in dem dies immer noch den Block auf ALLE Eingabefelder angewendet hat, aber wenn doch, stelle ich mir vor, dass die Angabe eines Blocks für „input[type=text]“ und ein anderer für Ihre spezifischen Felder das Problem lösen könnte?
Ich möchte das nicht unbedingt sagen, aber versuchen Sie, die Textarea zu vergrößern.
Guter Fang. Wenn „transition: all“ nach hinten losgeht… :)
Dies sollte das Problem mit der Größenänderung beheben.
Das funktioniert gut, aber wie entferne ich den Rahmen um den Submit-Button, wenn ich ein Bild verwende?
Ich habe für diesen Fall eine Mixin erstellt, falls jemand interessiert ist. Ersetzen Sie einfach `@include transition()` , wenn Sie Compass nicht verwenden.
Ich möchte diesen Effekt UNBEDINGT! Ich habe alles versucht, aber es funktioniert nicht. Ich habe genau das gleiche CSS und HTML verwendet, aber wenn ich den Code für das Feld überprüfe, sehe ich nur „#textarea“ ohne Formatierung. Ich sehe nichts bei einem normalen Feld wie „name“. Das Formular befindet sich unter http://www.prismcareernetworks.com/?page_id=325. Jede Hilfe wird sehr geschätzt. Ich muss drei komplexe Formulare entwerfen.
OMG, ich habe es herausgefunden. Ich hatte eine „(“ Klammer anstelle einer „}“ Klammer. Es sind immer die kleinen Dinge.
Versuchen Sie es mit Hotpink. Es ist lahm.
Cool! Ich frage mich, woher dieses „ ​ “ kommt. Es erschien im Browser, als ich den Code geladen habe.
Das ist sehr hilfreich.
Danke dafür. Ich habe überall danach gesucht. Ich möchte dies auf `