Titel mit unterem Rand kleiner als Breite

7

Ich muss einen Unterstreichungseffekt mit einem unteren Rand erstellen, der kleiner ist als die Titelbreite h2 . Normalerweise lade ich keine Bilder hoch, aber ich denke, es könnte helfen, die Frage etwas weiter zu erklären:

    
Tom 17.05.2014, 19:22
quelle

7 Antworten

15

Sie könnten dafür ein Pseudo-Element verwenden. (Beispiel)

%Vor%

Positioniere einfach ein Pseudo-Element relativ zum Elternelement. Positioniere es 100% von top und verwende eine Kombination aus left:0; right:0 und margin von auto für die horizontale Zentrierung. Ändern Sie die Höhe / Breite des Elements entsprechend und ändern Sie margin-top für den Abstand.

    
Josh Crozier 17.05.2014 19:28
quelle
4

Andere Vorgehensweise:

Box Schatten mit einem negativen Spreizradius:

%Vor% %Vor%

Hinweis: Sie müssen sicherstellen, dass - spread-radius x2 < height andernfalls der Box-Schatten 0 Höhe hat und verschwindet.

    
web-tiki 21.02.2015 19:30
quelle
4

Sie können dies auch mit linear-gradient tun. Bei dieser Methode wird ein kleines Hintergrundbild mit Farbverläufen erstellt, so dass es für die ersten 25% und die letzten 25% transparent ist, während die restlichen 50% die Farbe haben (so dass es aussieht wie 50% des tatsächlichen h2 -Text). . Dieser Hintergrund wird dann am unteren Rand des Elements positioniert, damit er wie ein unterer Rand aussieht. Die Größe der Grenze kann durch Ändern der Hintergrundgröße variiert werden.

Der Effekt würde auch dann bestehen bleiben, wenn die Textmenge in h2 variiert. Der Hauptnachteil ist jedoch die relativ schlechte Browser-Unterstützung für Gradienten im Vergleich zum Pseudo-Element oder dem Box-Shadow-Ansatz.

Hinweis: Die Verwendung des Skripts in der Antwort dient nur dazu, Browserpräfixe zu vermeiden :)

%Vor% %Vor%
    
Harry 02.06.2015 12:16
quelle
2

Sie könnten eine Art "falschen" Rahmen verwenden, indem Sie einfach ein div um das Element legen und nach dem Titel einen Rahmen div machen.

JSFiddle

HTML

%Vor%

CSS

%Vor%     
Paradoxis 17.05.2014 19:33
quelle
0
%Vor%

}

    
Friend 26.07.2016 07:39
quelle
0
%Vor%     
Nikit Barochiya 27.03.2017 11:13
quelle
0

Fast alle Lösungen, die ich in der Vergangenheit für diesen Effekt gesehen habe, haben sich auf die Positionierung verlassen - aber mit display: flex können wir das ziemlich einfach erreichen. Das Folgende ist ein Beispiel für eine Überschrift, aber es kann für jedes Element verwendet werden. Bedenke nur, dass die Art von flex-direction: column alle untergeordneten Elemente stapelt.

HTML

%Vor%

CSS

%Vor%

Beachten Sie, dass Sie je nach Browserunterstützung Vendor-Präfixe für flex hinzufügen müssen (meist frühere Versionen von IE, natürlich) Ссылка

    
Simon Layfield 20.03.2018 01:22
quelle

Tags und Links