CSS – Schneide mal die Ecke ab
Manchmal muss man ganz schön zaubern, um die „Photoshop-Designs“ mit CSS nachzubauen. Heute schneiden wir Ecken ab.
Ja ja, die Designer. Haben manchmal schon tolle Ideen für Webdesigns. Geht auch alles ganz leicht in Photoshop. Bei der Umsetzung mit CSS geht dann die Zauberei los. Abrundungen genügen nicht? Die Ecke soll ab? Also gut.
Einfacher Div
Um von einem einfachen Div ohne Border eine Ecke abzuschneiden, können wir einen Gradienten verwenden. Damit könnte man z.B. folgenden Menübutton stylen.
Mit folgendem CSS kann man alle 4 Ecken abschneiden.
linear-gradient(135deg, transparent 10px, #65C7F20) top left, linear-gradient(225deg, transparent 10px, #65C7F20) top right, linear-gradient(315deg, transparent 10px, #65C7F20) bottom right, linear-gradient(45deg, transparent 10px, #65C7F20) bottom left;
Und hier der Code unseres Beispiel-Buttons.
Div mit Border
Die Variante mit dem Gradienten funktioniert nicht bei einem Div mit Border. Hier ein Beispiel eines Panels mit Header.
Hier benötigen wir einen anderen Trick. Man kann in diesem Fall ein kleines Div über die Ecke legen und so lang Größe und Rotation anpassen, bis es über die Ecke passt.
Der Code für dieses Beispiel sieht dann so aus.
Das war es auch schon. Wir hoffen wie immer, diese erstbeste Lösung ist hilfreich.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Hey, an sich ist die Lösung ja schon ganz gut, allerdings habe ich noch ein Problem. Die Ecke müsste in meinem Fall (Slider) wirklich transparent sein. Gibt es hierzu auch einen Lösungsweg?
Grüße Tobi.
Schön, dass Dir die Lösung gefällt.
Es gibt noch die Möglichkeit, einen weiteren Div an den ersten Div anzulegen und diesen perspektivisch zu verzerren, so dass eine Ecke entsteht.
Hier gibt es ein Beispiel bei Codepen: https://codepen.io/web-tiki/pen/Dvgqn