Top 10 CSS Tipps & Tricks in 2020

Diese Kniffe solltet ihr kennen!

Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von TIMETOACT realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

Um die Programmiersprache CSS kommt wohl kein Webentwickler herum. CSS wird ständig um neue Features erweitert, die das Leben von Frontendlern einfacher machen und einen noch schlankeren Quelltext ermöglichen.

Wir haben für euch zehn Tipps & Tricks zusammengefasst, die ihr in 2020 kennen solltet – schaut euch dazu auch gerne unser Youtube-Tutorial an.  

Tipp 1: CSS Logical Properties

Elemente mit Mouse Over-Effekt

Die CSS Logical Properties bieten sich insbesondere für das Programmieren von mehrsprachigen Websites mit verschiedenen Leserichtungen an – beispielsweise, wenn eine Website in Deutsch, Arabisch und Chinesisch abrufbar sein soll. Das CSS-Modul verbindet hierbei logische mit physischen Eigenschaften.

In unserem Beispiel haben wir vier verschiedenfarbige Elemente erstellt, die allesamt einen kleinen Mouse Over-Effekt aufweisen, sodass sich die Rechtecke jeweils nach rechts bewegen (siehe Bild rechts).

 

 

Der Darstellung liegt folgender Quelltext zugrunde:

Die Besonderheiten finden sich im CSS-Code. Innerhalb von .grid{} wurde die Leserichtung horizontal-tb festgelegt – tb steht in diesem Fall für top-bottom. Diese Anweisung entspricht beispielsweise einer deutschen Website, bei der die Leserichtung links → rechts ist und die Textblöcke von oben nach unten angeordnet werden. 

Elemente mit veränderter Leserichtung

Der Befehl inline-size innerhalb von .grid .item{} ist ein Logical Property, das je nach writing-mode anders dargestellt wird. Im Falle von horizontal-tb gibt der Wert 30vw die width des Elements an. Bei Änderung des writing-modes in vertical-lr wird das Logal Property nicht mehr als width, sondern als height interpretiert. Das sieht dann wie im Bild rechts aus – der Mouse Over-Effekt bleibt zudem erhalten.

Auf diese Weise ist auch für verschiedenseitige Websites nur noch ein Quelltext erforderlich.

Tipp 2: CSS Custom Properties

CSS Custom Properties sind nichts anderes als Variablen in CSS. Über das Präfix -- können neue Variablen definiert werden:

--color-red: #9f4e44

Über die CSS-Funktion var wird der Variableninhalt wieder ausgegeben:

.item{
var(--color-red);
}

Was für einen Nutzen diese CSS Custom Properties haben, möchten wir wieder an einem kleinen Beispiel erörtern. Im CSS-Quelltext haben wir über :root{} die drei Variablen size, space und color-yellow definiert. Über die Funktion var() könnt ihr den Inhalt size auslesen und über Funktion calc() mit der jeweiligen Einheit multiplizieren. Die Abstände sind über Variable --space definiert, die 1rem entspricht. In media query @media() definiert ihr, dass der Abstand bei  einer Mindestbreite von 600 Pixeln nicht mehr 0.5, sondern 1.5 betragen soll. Der Variableninhalt space wird hier anstelle von margin mit 1rem multipliziert und der Abstand entsprechend vergrößert.

Großer Vorteil hierbei: selector und property müssen nicht kopiert und im media query wiederholt werden, lediglich die Variable wird angepasst. Die CSS Custom Properties unterstützen euch folglich dabei, euren Quelltext schlank zu halten. 

Tipp 3: CSS scroll-snap

Mit CSS scroll-snap erstellte Bildergalerie

Wenn ihr in eurer Webanwendung eine Bildergalerie einbinden möchtet, habt ihr dies in der Vergangenheit wahrscheinlich über JavaScript gelöst. Mit dem Property scroll-snap könnt ihr Galerien nun direkt in eurem CSS erstellen – wie in der Bilderstrecke links.

Die Elemente haben wir über display: flex positioniert und über flex-flow: row nowrap pro Zeile angeordnet. scroll-snap-type legt den Typ der Galerie fest. Mit scroll-snap-align könnt ihr angeben, wie das Bild „gesnapped“ werden soll – mit der Auswahl center beispielsweise befindet sich das Bild, das aktuell betrachtet wird, immer exakt mittig. 

Tipp 4: Backdrop filter

Koala hinter dem Element wird verschwommen dargestellt, Smiley vor dem Element nicht

Die CSS-Eigenschaft filter kennt ihr bereits – mit dieser könnt ihr eine Reihe interessanter Effekte auf euer Bild legen. Mit backdrop filter stehen euch die gleichen Effekte zur Verfügung. Der Filter wirkt sich in diesem Fall nicht auf das Element selbst aus, sondern auf alles, was sich optisch dahinter befindet. Das sieht man schön in unserem Beispiel rechts.

Mitten im Bild befindet sich ein rechteckiger Container. Das Koalabild, das sich hinter diesem befindet, wird durch den backdrop filter verschwommen dargestellt. Der Smiley wiederum befindet sich vor dem Container und bleibt vom Effekt unberührt. 

Dafür haben wir folgenden HTML-Quelltext genutzt:

Im CSS-Code wird der backdrop-filter: blur verwendet. 

Tipp 5: Pseudoklasse :is

Als nächstes möchten wir euch die Pseudoklasse :is vorstellen. In unserer Demo haben wir in HTML die Elemente header, article und footer mit jeweils einem p-Tag erstellt. 

Das p in header und footer möchten wir gerne einfärben, dabei aber Redundanzen in unserem CSS-Quelltext vermeiden. Hier kommt die Pseudoklasse :is ins Spiel. Hiermit adressieren wir lediglich p-Tags, die sich in header oder footer befinden, und zwar wie unten. Auf diese Weise könnt ihr euren CSS-Code deutlich übersichtlicher halten. 

Tipp 6: Pseudoklasse :placeholder-shown

Kommen wir zu einer weiteren Pseudoklasse – :placeholder-shown. Mit dieser könnt ihr Elemente eines Formulars so bearbeiten, dass die Styling-Informationen nur zu sehen sind, solange der Placeholder angezeigt wird. Wird im Formular beispielsweise etwas eingetippt und verschwindet der Placeholder, verschwinden mit ihm auch die Styling-Informationen. So ist in unserem Beispiel der grüne Rahmen des Eingabefelds nicht mehr zu sehen, sobald der User einen Text verfasst.  

Bei Bearbeitung des Textfeldes...
...verschwindet der Rahmen.

Dafür haben wir folgenden HTML-Code verwendet:

Der zugehörige CSS-Quelltext sieht entsprechend so aus:

Tipp 7: position: sticky

position: sticky ist quasi eine Mischung aus position: fixed und position: relative. In unserem Beispiel haben wir eine Kontaktliste nach den Anfangsbuchstaben der Vornamen sortiert. Beim Runterscrollen verschwinden die Namen in der grünen Box, aber der jeweils oberste Buchstabe in der roten Box bleibt oben bestehen. 

Beim Runterscrollen bleibt jeweils der oberste Buchstabe bestehen.

Im HTML-Code haben wir die Vornamen entsprechend aufgelistet:

Im CSS wurde die Liste mit den Eigenschaften display: flex und flex-flow: column nowrap versehen. Die Anfangsbuchstaben dt haben wir entsprechend mit position: sticky positioniert. top: 0 gibt dabei den Abstand nach oben zum Browserfenster an. 

Tipp 8: clamp() & line-clamp

Mit der CSS-Funktion clamp könnt ihr beispielsweise für eine Schriftgröße einen Wert zwischen einer minimalen und einer maximalen Grenze definieren. Die Schrift passt sich je nach Größe des Fensters automatisch an – so stellt ihr die Lesbarkeit von Texten in eurer responsiven Website sichert. line-clamp definiert darüber hinaus die Anzahl an Zeilen, die ein Nutzer lesen kann.

In unserem Beispiel haben wir sechs Boxen erstellt, wobei sich oben einzeilige und unten dreizeilige Einträge befinden.

Im HTML-Quelltext haben wir die Boxen entsprechend über grid aufgebaut und über react realisiert. 

In CSS sind dem grid mehrere Spalten und zwei Zeilen zugewiesen. An den Überschriften könnt ihr die Besonderheit von clamp sehen: Für die font-size wurde drei Werte, ein minimaler, ein normaler und ein maximaler Wert, festgelegt.  

Schrift passt sich bei Veränderung des Fensters automatisch an.

Der Browser passt entsprechend die Schrift, je nach Größe des Fensters, automatisch und dynamisch an. 

Bei den einzeiligen Einträgen habt ihr die Möglichkeit mit text-overflow: ellipsis drei Punkte am Ende des Eintrags visuell hervorzuheben. Mehrzeilige Einträge werden über display: -webkit-box definiert. Als Orientierung haben wir in unserem Fall -webkit-box-orient: vertical festgelegt, für die Anzahl der Zeilen verwenden wir webkit-line-clamp. Auch hier definieren wir die Schriftgröße dynamisch über clamp().

Tipp 9: gap

Mit gap definierter Abstand zwischen den Elementen.

Das Property gap kennt ihr vielleicht bereits im Kontext der CSS-grids. Hiermit lassen sich die Abstände zwischen Spalten und Zeilen definieren. Diese Möglichkeit wurde nun auf flexbox und multi-column erweitert. In unserem CSS-Quelltext haben wir jeweils ein gap von 1rem bestimmt. Dadurch lassen sich die Abstände zwischen den verschiedenen Elementen einheitlich festlegen.

Tipp 10: Pseudoklasse :focus-within

Kommen wir zuletzt zu der Pseudoklasse :focus-within, die ihr in Formularen verwenden könnt. Hiermit habt ihr die Möglichkeit das Elternelement eines Formulars zu adressieren und zu verändern, sobald ein Formularelement fokussiert wird. In unserem Beispiel haben wir ein einfaches Formular mit Vorname, Nachname und einem Button gebaut.

Wenn der Nutzer ein Element fokussiert, beispielsweise in das Feld „Vorname“ klickt, wechseln Elternelement und Button ihre Farbe. 

Formular ändert bei Bearbeitung die Farbe.

Der zugehörige CSS-Text sieht wie folgt aus:

Das waren Sie – unsere Tipps & Tricks für CSS in 2020. Für weitere spannende Hilfestellungen rund ums Thema Webentwicklung könnt in unsere Reihe Full Stack Web Development auf YouTube reinschauen. Wir wünschen viel Spaß dabei!

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

Blog

9 Tipps & Tricks für Angular

Angular ist unter Webentwicklern ein beliebtes Framework für das Programmieren von Web-, Desktop- und mobilen Anwendungen. Neun Tipps & Tricks für Angular-Einsteiger und Profis.

Blog 01.06.23

10 Must-Have-Faktoren für ein Top-Kundenerlebnis

Was sind die wichtigsten Faktoren, um ein gutes Kundenerlebnis zu schaffen? Wie kannst du die Kundenzufriedenheit verbessern und langfristige Kundenbeziehungen aufbauen?

Online survey filling out and digital form checklist by laptop computer, Document Management Checking System, online documentation database and process manage files
Blog

Mit End-to-End Testing zur einwandfreien Webanwendung

Webanwendungen sind selten statisch. Damit bestehende Funktionen und Layouts dabei keinen Schaden nehmen, kommen End-to-End Tests zum Einsatz.

Titelbild zur Newsmeldung: IPG unter den Top 500 der stärksten ICT-Firmen Schweiz 2020
News 03.09.20

IPG unter den Top 500 der stärksten ICT-Firmen Schweiz 2020

Zum ersten Mal hat es die IPG-Gruppe unter die Top 10 der Gewinner nach Prozentpunkten geschafft.

Blog

Live Share für die reibungslose Kommunikation in VS Code

Mit der Microsoft Extension Live Share habt ihr die Möglichkeit, gemeinsam mit eurem Team in Visual Studio Code am selben Code zu arbeiten und mehr. Alles dazu in unserem Blogartikel!

Social

Wir begrüßen unsere Nachwuchstalente 2020

Auch 2020 haben wir wieder viele junge Nachwuchskräfte bei der TIMETOACT GROUP eingestellt. Denn trotz der aktuellen Lage ist es uns nach wie vor wichtig, neue Talente für uns zu gewinnen und sie in ihrem Einstieg in den Beruf zu begleiten.

Event Archive

IBM Think Digital Summit 2020

Treffen Sie uns auf dem IBM Think Digital Summit, 20. - 21. Oktober 2020! Unter anderem erwartet Sie ein Vortrag unseres Tochterunternehmens ARS. Jetzt anmelden!

Kompetenz 12.11.25

Mit Low Code zur schnellen Lösung

Die Digitalisierung prägt unseren Alltag und erfordert ständig neue IT-Lösungen – der Mangel an Entwickler:innen erschwert das. Low-Code bietet hier eine Antwort.

Blog 21.12.20

Versicherung 2020 – was prägte das Jahr?

Das 2020 beherrschende Thema ist natürlich Corona – auch für Versicherer. Ziehen wir ein Resümee aus der Zusammenarbeit mit unseren Kunden aus der Versicherungsbranche.

Blog

Frauenpower in der IT

Wir sind stolz, auch im IT-Bereich zahlreiche Kolleginnen an Bord zu haben! Im Interview verrät unsere IAG Beraterin Petra Bremer, wie sie zu ihrem Beruf gekommen ist und was sie daran begeistert.

Blog 01.08.24

Migration von HOST-Anwendungen zu AWS: Modernisierung

Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Blog 17.05.24

8 Tipps zur Entwicklung von AI-Assistenten

AI-Assistenten sind ein Hype, und viele Teams arbeiten mit Begeisterung an ihrer Umsetzung. Doch in Europa und den USA scheitern viele an dieser Herausforderung. Damit Ihnen das nicht passiert, haben

Blog 17.05.24

8 Tipps zur Entwicklung von AI-Assistenten

AI-Assistenten sind ein Hype, und viele Teams arbeiten mit Begeisterung an ihrer Umsetzung. Doch in Europa und den USA scheitern viele an dieser Herausforderung. Damit Ihnen das nicht passiert, haben

Blog 12.12.22

3 Tipps: Durch Digitalisierung im Handel gewinnen

Digitalisierung ist eine Challenge für dich? Auf der Internationalen Eisenwarenmesse 2022 gibt Joubin Rahimi praxisorientierte insights zu Digitalisierungsthemen für den Handel sowie drei wertvolle Tipps, mit denen du jede Herausforderung im E-Commerce meistern kannst.

Blog 14.03.24

Top 5 Superkräfte der Product Owner

Als Product Owner trägst die Vision deines Produkts wie ein Banner vor dir her und hast die Mission, das bestmögliche Erlebnis und Ergebnis für deine Nutzerer und Nutzerinne zu schaffen.

Whitepaper 15.09.22

Fünf Tipps für die Digitalisierung in Unternehmen

Die Digitalisierung der Arbeitswelt mit ihren vielen Facetten und Ausprägungen, wie der Arbeitsplatz 4.0 oder das Thema Agilisierung, ist aus der heutigen Zeit nicht mehr wegzudenken. Sie bietet Unternehmen umfassende Möglichkeiten neue Geschäftsmodelle zu erschließen.

Blog 29.06.23

Erfolg im E-Commerce durch top Customer Journey & CX

Welche Rolle spielt Jeff Bezos in der Customer Journey? Wie wichtig ist es die Bedürfnisse und Engpässe des Kunden zu verstehen, um erfolgreich zu sein? Alle Antworten findest du hier.

Blog 09.02.24

Ein Public Cloud Cheat Sheet der Top-Cloud Provider

Der Blogbeitrag bietet dir einen Überblick über die aktuelle Landschaft der Public Cloud. Das "Public Cloud Cheat Sheet" ist ein nützlicher Wegweiser durch die komplexe Welt der Public Cloud.

Bild zur Newsmeldung IPG bekommt OneIdentity Award
News 17.07.20

One Identity Awards 2020

Die IPG-Gruppe ist von One Identity als «EMEA PLUS Partner» und «Regional Partner of the year – Central Region» ausgezeichnet worden.

Referenz

HOCHBAHN Managed Services

Die IT-Spezialisten der TIMETOACT GROUP übernehmen die Managed Services für die gesamte IBM WebSphere Plattform der Hamburger Hochbahn AG (HOCHBAHN).