Zeile unter dem Link bei Hover

7

Wie kann ich eine kurze Zeile unter dem Link hinzufügen? Die Linie sollte nur beim Schweben sichtbar sein. Ich habe versucht mit border-bottom, aber so ist die Linie 100% der Linkbreite und ich möchte die Linie kürzer als die Verbindung.

Hier ist ein Beispiel für den Effekt, den ich versuche zu machen.

    
user2013488 13.05.2014, 12:51
quelle

7 Antworten

8

Sie können versuchen, ::after pseudo-element:

zu verwenden

%Vor% %Vor%
    
T J 13.05.2014, 13:03
quelle
8

Das ist etwas, an das ich gerade gedacht habe, schau es dir an, was du denkst. Also verwenden wir :after und erstellen eine Zeile unter dem Text. Dies funktioniert nur, wenn der Elternteil eine Breite (zum Zentrieren) hat.

HTML:

%Vor%

CSS:

%Vor%

DEMO

Aktualisiertes CSS:

%Vor%

Nicht sicher, warum ich nicht daran gedacht habe, aber Sie können einfach inline-block verwenden, um es in die Mitte zu bringen, ohne dass der Elternteil eine Breite hat.

DEMO HIER

Hier ist ein Link mit der gleichen Methode, nur wenn Sie verwirrt wurden.

DEMO HIER

Ich habe jetzt gesagt, ich sollte sogar auf die offensichtlichste Sache hinweisen, also hier ist ein Update nur für die Leute, die nicht wissen, dass width ein Prozentsatz sein kann.

%Vor%

Die Breite wurde von 5px auf 70% geändert, sodass sie mit der Breite des Textes erweitert wird.

DEMO HIER

    
Ruddy 13.05.2014 12:59
quelle
4

Bearbeiten: Ruddys Lösung hat das gleiche Ergebnis und ist eleganter. Basierend darauf habe ich es kürzlich mit der Hinzufügung von Transition verwendet, wodurch es ein bisschen auffälliger wurde und ich dachte, dass es nützlich wäre, es hier zu teilen:

%Vor%

jsfiddle link

(Ursprüngliche Antwort unten)

Sieh dir das an , das ich gerade erfunden habe und in der Geige spiele:

%Vor%

Abhängig von den Prozentangaben können Sie mit a.bordered: hover: vor dem Rand und der linken Position spielen.

    
alou 13.05.2014 13:10
quelle
3

Benutze einfach diese Klasse:

%Vor%

so wird die Linie angezeigt, wenn Sie den Mauszeiger über das Element bewegen. Und Sie können im Bild angeben, wie klein oder groß die Linie sein soll.

    
Xatenev 13.05.2014 12:55
quelle
2

Versuchen Sie, eine andere Div für den Rahmen zu erstellen. Und passen Sie die Breite dieses div nach Ihrer Wahl an. Ich hoffe, das wird helfen.

    
user3460145 13.05.2014 12:59
quelle
2

Was ist damit?

%Vor%

Sieh dir diese Geige an für mehr: Ссылка

    
valerio0999 13.05.2014 13:05
quelle
1
%Vor%     
dev9 13.05.2014 13:03
quelle

Tags und Links