CSS-Steuerung, wann der Fokus-Selektor angewendet wird

8

Der Selektor :focus wird verwendet, um Elemente zu formatieren, die einen Fokus im allgemeinen Sinne haben. Aber wann genau wird es angewendet, wenn man Fälle wie die Maus oder die Berührung betrachtet? Und wie kann ich als Webentwickler die Konsistenz steuern?

z.B. hier auf stackoverflow, wenn ich mit der Maus auf einen der Links klicke, aber nicht aktiviere, indem ich die Maus vor dem Loslassen wegbewegt, bekommt der Link den Tastaturfokus (wie man sieht, wenn man dann Tab drückt, geht der Fokus zum nächsten Link). Es wird jedoch nicht der :focus Stil angezeigt, obwohl es den Fokus hat. Wenn ich jedoch auf einen Link klicke, bekomme ich den :focus Umriss-Stil.

Aber auf einer der Webseiten, an denen ich gerade arbeite, gibt mir die Maustaste den :focus Stil sofort, also muss es ein subtiles Detail geben.

In diesem Snippet funktionieren die Elemente <a> und <button> in Chrome für mich wie meine frühere Beschreibung, und das anklickbare <div> scheint wie das letztere zu funktionieren. Aber auf einer meiner Seiten passiert letzteres in allen 3 Fällen, und ich bin nicht einmal sicher, warum sie in diesem Ausschnitt nicht alle gleich sind, da ich hier keine zusätzlichen Stile oder JS habe.

%Vor% %Vor%

BEARBEITEN: In IE11 funktioniert alles wie der Standard <a> und <button & gt; in der GIF, einschließlich auf meinen anderen Seiten. Vielleicht ein Chrome-Bug, oder gibt es immer noch ein paar Feinheiten, die ich übersehen habe, wenn ein :focus style angewendet wird? Ist die Reihenfolge der Pseudoklassen-CSS-Regeln hier auf nicht naheliegende Weise wichtig?

    
Fire Lancer 31.08.2016, 10:18
quelle

1 Antwort

1

:focus ist der Pseudo-Selektor, der angibt, welches Feld momentan von der Tastatur ausgewählt wird. Das Durchblättern der Eingaben sollte gelten: Fokus auf diesen Eingang.

:active ist der Pseudo-Selektor, der sich auf das "Aktivieren" einer Schaltfläche oder eines Links bezieht. Wenn Sie darauf klicken oder es berühren, wird :active auf dieses Element angewendet.

In CSS ...

%Vor%

Dies fügt einen Rahmen von 1px hinzu, der rot ist, während Sie eine Aktion für dieses Element ausführen, wodurch der aktive Link angeklickt wird.

%Vor%

Dies wird das gleiche Styling tun, wenn Sie auf diese Schaltfläche klicken. Damit :focus in einigen Fällen funktioniert, ist tabindex wichtig. Für das gleiche :focus -Stil, um auf Schaltflächen zu arbeiten, muss tabindex auf ihnen stehen.

Wenn Sie weitere Hilfe benötigen, lassen Sie es mich wissen.

    
javascriptjames 05.10.2016 03:39
quelle

Tags und Links