Die vollständige Anleitung zu CSS-Buttons: Erstellung, Styling und Animation

Foto des Autors

By Jan

HTML-Struktur von CSS-Buttons

Um einen CSS-Button zu erstellen, beginnst du mit der Definition des HTML-Elements <button>. Dieses Element hat verschiedene Attribute, die du zur Anpassung des Button-Verhaltens verwenden kannst.

Grundlegende Attribute

  • type: Dies bestimmt den Button-Typ. Die gängigste Option ist "submit", die ein Formular absendet, oder "button", die ein JavaScript-Ereignis auslöst.
  • name: Weist dem Button einen eindeutigen Namen zu, der in Formularen verwendet wird.
  • value: Definiert den Wert des Buttons, der bei der Formularübermittlung gesendet wird.
  • disabled: Deaktiviert den Button, wenn auf "true" gesetzt.

Zusätzliche Attribute für ARIA-Unterstützung

  • role: Gibt die Rolle des Buttons an, z. B. "button". Dies hilft Screenreadern, den Button zu identifizieren.
  • aria-label: Bietet einen zugänglichen Namen für den Button, falls der eigentliche Text nicht beschreibend genug ist.

Semantische HTML-Tags

Neben dem <button>-Element kannst du auch andere semantische HTML-Tags verwenden, um Buttons zu erstellen:

  • <a>-Tag: Wenn der Button auf eine andere Seite verlinkt oder eine Aktion in einem anderen Fenster auslöst.
  • <input type="button">: Erstellt einen Button ohne Formularunterstützung.
  • <input type="submit">: Erstellt einen Button, der ein Formular absendet.

Best Practices

  • Verwende immer semantisches HTML, um den Zweck des Buttons klar zu machen.
  • Vermeide die Verwendung von inline Styles, da dies die Wartbarkeit beeinträchtigt.
  • Stelle sicher, dass deine Buttons für alle Benutzer zugänglich sind, indem du ARIA-Attribute verwendest.
  • Teste deine Buttons mit verschiedenen Screenreadern, um die Barrierefreiheit zu gewährleisten.

Styling von CSS-Buttons: Schriftart, Farbe, Hintergrund

Die visuelle Erscheinung deiner CSS-Buttons spielt eine entscheidende Rolle für die Benutzerfreundlichkeit und Ästhetik deiner Website. In diesem Abschnitt lernst du, wie du die Schriftart, Farbe und den Hintergrund deiner Buttons anpasst, um sie an das Design deiner Website anzupassen.

Schriftart

Die Schriftart deines Buttons hat einen großen Einfluss auf seine Lesbarkeit und visuelle Wirkung. Du kannst die folgenden CSS-Eigenschaften verwenden, um die Schriftart zu steuern:

  • font-family: Legt die Schriftartfamilie fest. Du kannst mehrere Schriftarten angeben, die der Browser nacheinander ausprobieren wird, bis er eine passende Schriftart findet.
  • font-size: Legt die Schriftgröße fest.
  • font-weight: Legt die Schriftstärke fest.
  • text-align: Legt die Ausrichtung des Texts fest (linksbündig, zentriert oder rechtsbündig).

Farbe

Die Farbe deines Buttons kann dessen Bedeutung und Wirkung beeinflussen. Du kannst die folgenden CSS-Eigenschaften verwenden, um die Farbe zu steuern:

  • color: Legt die Farbe des Texts fest.
  • background-color: Legt die Hintergrundfarbe des Buttons fest.

Hintergrund

Der Hintergrund deines Buttons kann sein Aussehen und seine Textur verbessern. Du kannst die folgenden CSS-Eigenschaften verwenden, um den Hintergrund zu steuern:

  • background-image: Fügt ein Hintergrundbild hinzu.
  • background-repeat: Bestimmt, wie das Hintergrundbild wiederholt werden soll (z. B. einmal, horizontal oder vertikal).
  • background-size: Legt die Größe des Hintergrundbilds fest.
  • background-position: Legt die Position des Hintergrundbilds fest.

Beispiel:

Der folgende Code erzeugt einen Button mit der Schriftart "Helvetica", einer Schriftgröße von 16px, einer schwarzen Textfarbe und einem blauen Hintergrund:

button {
  font-family: "Helvetica", sans-serif;
  font-size: 16px;
  color: black;
  background-color: blue;
}

Hinzufügen von Hover-, Fokus- und aktiven Zuständen

Nachdem du dein Basisstil für deinen CSS-Button festgelegt hast, kannst du mit dem Hinzufügen von interaktiven Zuständen beginnen, die die Benutzerfreundlichkeit verbessern.

Hover-Zustand

Der Hover-Zustand wird aktiviert, wenn dein Mauszeiger über den Button fährt. Dieser Zustand dient dazu, anzuzeigen, dass der Button anklickbar ist, und kann durch Ändern der Farbe, des Hintergrunds oder der Schriftart des Buttons gestaltet werden.

.button:hover {
  background-color: #FF4500;
  color: #FFF;
}

Fokus-Zustand

Der Fokus-Zustand wird aktiviert, wenn der Button mit der Tastatur fokussiert wird. Dieser Zustand ist besonders nützlich für Nutzer, die nicht mit der Maus interagieren können.

.button:focus {
  border: 2px solid #000;
  outline: none;
}

Aktiver Zustand

Der aktive Zustand wird aktiviert, wenn der Button angeklickt wird. Dieser Zustand kann verwendet werden, um den Button optisch von den anderen Zuständen abzuheben.

.button:active {
  background-color: #000;
  color: #FFF;
}

Anpassen von Größe, Form und Rändern

Größe festlegen

Du kannst die Größe deiner Schaltfläche über die Eigenschaften width und height anpassen. Die Einheiten können Pixel (px), Relative Einheiten (%, rem, em) oder absolute Einheiten (cm, mm) sein.

button {
  width: 150px;
  height: 40px;
}

Form anpassen

Standardmäßig sind CSS-Schaltflächen rechteckig. Du kannst ihre Form jedoch anpassen, indem du die Eigenschaft border-radius verwendest. Durch Angabe eines Radius in Pixel oder als Prozentsatz der Breite oder Höhe kannst du abgerundete Ecken erstellen oder die Schaltfläche sogar in eine Kreisform verwandeln.

button {
  border-radius: 10px; /* 10px Radius für abgerundete Ecken */
  border-radius: 50%; /* Kreisform */
}

Ränder festlegen

Mit der Eigenschaft margin kannst du einen Abstand um deine Schaltfläche herum erstellen. Die Einheiten können Pixel, Relative Einheiten oder absolute Einheiten sein.

button {
  margin: 10px; /* 10px Abstand auf allen Seiten */
  margin: 5px 10px; /* 5px Abstand oben und unten, 10px links und rechts */
}

Padding festlegen

Zusätzlich zu Rändern kannst du auch padding verwenden, um einen Freiraum innerhalb der Schaltfläche zu erstellen. Dadurch wird der Abstand zwischen dem Text und den Rändern vergrößert.

button {
  padding: 10px; /* 10px Abstand innerhalb der Schaltfläche auf allen Seiten */
  padding: 5px 10px; /* 5px Abstand oben und unten, 10px links und rechts innerhalb der Schaltfläche */
}

Tipps für die Anpassung von Größe, Form und Rändern

  • Verwende für die Größe relative Einheiten (z. B. % oder em), um sicherzustellen, dass deine Schaltfläche auf verschiedenen Geräten und Bildschirmgrößen proportional skaliert wird.
  • Experimentiere mit unterschiedlichen Radien für abgerundete Ecken, um ein ästhetisch ansprechendes Erscheinungsbild zu erzielen.
  • Verwende Ränder und Padding, um deine Schaltfläche von anderen Elementen auf der Seite zu unterscheiden und ihren visuellen Einfluss zu erhöhen.
  • Achte darauf, dass deine Schaltfläche eine für den Inhalt angemessene Größe hat und leicht zu bedienen ist, insbesondere auf Mobilgeräten.

Hinzufügen von Schatten, Rahmen und Effekten

Neben Schriftart, Farbe und Hintergrund kannst du deine CSS-Buttons auch mit Schatten, Rahmen und Effekten aufwerten, um sie optisch ansprechender und benutzerfreundlicher zu gestalten.

Schatten

Schatten verleihen deinen Buttons Tiefe und Struktur. Du kannst sie mit der Eigenschaft box-shadow hinzufügen. Die Syntax lautet:

box-shadow: horizontaler Versatz vertikaler Versatz Unschärfe-Radius Streuflächenfarbe;

Beispielsweise erstellen die folgenden Werte einen leichten Schatten:

box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);

Rahmen

Rahmen betonen die Kanten deiner Buttons und machen sie leichter erkennbar. Du kannst sie mit der Eigenschaft border hinzufügen. Die Syntax lautet:

border: Stilbreite Farbe;

Beispielsweise erstellt der folgende Wert einen soliden schwarzen Rahmen:

border: 1px solid black;

Effekte

Mit CSS-Effekten kannst du das Aussehen deiner Buttons transformieren, wenn Benutzer mit ihnen interagieren. Hier sind einige gängige Effekte:

Hover-Effekte:
Hover-Effekte werden ausgelöst, wenn Benutzer mit der Maus über den Button fahren. Du kannst sie verwenden, um die Farbe, den Hintergrund oder die Form des Buttons zu ändern.

Fokus-Effekte:
Fokus-Effekte werden ausgelöst, wenn Benutzer mit der Tastatur auf den Button fokussieren. Sie können verwendet werden, um den Umriss des Buttons hervorzuheben oder einen Hintergrundfarbübergang zu erstellen.

Aktive Effekte:
Aktive Effekte werden ausgelöst, wenn Benutzer den Button anklicken. Sie können verwendet werden, um anzuzeigen, dass der Button gedrückt wurde, indem die Farbe oder der Hintergrund geändert wird.

Du kannst diese Effekte mit den Eigenschaften :hover, :focus und :active erstellen.

Beispielsweise ändert der folgende Code die Hintergrundfarbe des Buttons bei Hover:

button:hover {
  background-color: #007bff;
}

Hinweis: Denke daran, Effekte für alle drei Zustände (Hover, Fokus und Aktiv) zu definieren, um ein konsistentes und benutzerfreundliches Erlebnis zu gewährleisten.

Erstellung schwebender Aktionsschaltflächen

Schwebenden Aktionsschaltflächen sind eine hervorragende Möglichkeit, wichtige Aktionen auf deinen Webseiten hervorzuheben. Sie sind in der Regel rund, haben ein Symbol und schweben über dem Seiteninhalt.

Erstellung der Grundstruktur

Beginne damit, ein HTML-Element zu erstellen, das die Schaltfläche umschließt. Du kannst ein <div> -Element verwenden und ihm die CSS-Klasse btn-float zuweisen. Innerhalb dieses Elements fügst du ein <a>-Element für den Link zur Aktion hinzu.

<div class="btn-float">
  <a href="#">
    <i class="fas fa-plus"></i>
  </a>
</div>

Styling der Schaltfläche

Jetzt kannst du die Schaltfläche mit CSS gestalten. Stelle zunächst die Position auf absolut ein, um sie vom Seitenfluss zu entfernen. Positioniere sie dann in der unteren rechten Ecke mit bottom und right-Eigenschaften. Verwende transform: translate(-50%, -50%);, um die Schaltfläche in der Mitte auszurichten.

.btn-float {
  position: absolute;
  bottom: 20px;
  right: 20px;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #3f51b5;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2),
              0px 6px 10px 0px rgba(0, 0, 0, 0.14),
              0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}

Hinzufügen des Symbols

Verwende ein Font-Awesome-Symbol für die Aktion. Verwende die Klasse fas oder far, um ein solides oder ein reguläres Symbol einzufügen.

<i class="fas fa-plus"></i>

Implementieren der Schwebeanimation

Um die Schwebeanimation zu implementieren, verwende eine Kombination aus transform und transition.

.btn-float:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

Dadurch wird die Schaltfläche beim Schweben um 10 % vergrößert. Du kannst auch weitere Übergangsoptionen wie transition-duration und transition-timing-function steuern.

Tipps

  • Verwende kontrastierende Farben für bessere Sichtbarkeit.
  • Fasse die Schaltfläche für bessere Zugänglichkeit mit einem Titeltext zusammen.
  • Platziere die Schaltfläche so, dass sie nicht andere wichtige Inhalte verdeckt.
  • Experimentiere mit verschiedenen Größen, Formen und Animationen, um die Schaltfläche auf deine Website zuzuschneiden.

Implementierung benutzerdefinierter Hover-Effekte

Neben den Standard-Hover-Effekten kannst du auch deine eigenen benutzerdefinierten Effekte erstellen, um die Interaktivität deiner Buttons zu verbessern. Dies ermöglicht dir, einzigartige visuelle Erlebnisse zu schaffen, die die Aufmerksamkeit der Nutzer auf sich ziehen.

Transformations-Effekte

Mit CSS-Transformationen kannst du die Größe, Form und Position von Elementen beim Hovern ändern. So kannst du beispielsweise einen Button beim Hovern vergrößern, drehen oder verschieben.

.button:hover {
  transform: scale(1.2);
}

.button:hover {
  transform: rotate(15deg);
}

.button:hover {
  transform: translateX(10px);
}

Übergangseffekte

CSS-Übergänge ermöglichen es dir, die Dauer und das Verhalten von Transformationen und anderen Effekten zu steuern. So kannst du beispielsweise die Glättung der Größenänderung oder des Drehens eines Buttons festlegen.

.button:hover {
  transition: transform 0.5s ease-in-out;
}

Filtereffekte

Filtereffekte können verwendet werden, um die Helligkeit, den Kontrast oder die Sättigung eines Buttons beim Hovern zu ändern. Dies kann subtilere oder dramatischere Effekte erzeugen, je nach den verwendeten Einstellungen.

.button:hover {
  filter: brightness(120%);
}

.button:hover {
  filter: contrast(150%);
}

.button:hover {
  filter: saturate(200%);
}

Box-Shadow-Effekte

Box-Shadows können verwendet werden, um beim Hovern eines Buttons eine Schatten- oder Glanzeffekt zu erzeugen. Dies verleiht dem Button mehr Tiefe und Dimension.

.button:hover {
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

.button:hover {
  box-shadow: 0px 5px 10px rgba(255, 255, 255, 0.5);
}

Kombination von Effekten

Du kannst verschiedene Effekte für einen benutzerdefinierten Hover-Effekt kombinieren. Beispielsweise kannst du einen Button beim Hovern vergrößern, drehen und einen Box-Shadow-Effekt anwenden.

.button:hover {
  transform: scale(1.2) rotate(15deg);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

Tipp: Experimentiere mit verschiedenen Kombinationen von Effekten, um einzigartige und ansprechende Hover-Erlebnisse für deine Buttons zu erstellen.

Animation von CSS-Buttons mit CSS-Übergängen

CSS-Übergänge ermöglichen es dir, die Transformation von CSS-Eigenschaften von einem Wert in einen anderen zu animieren. Dies kann verwendet werden, um beim Hover, Fokus oder anderen Zustandsänderungen interessante Hover-Effekte für deine CSS-Buttons zu erstellen.

Grundlegendes zu CSS-Übergängen

CSS-Übergänge werden mit der transition-Eigenschaft gesteuert. Die Syntax lautet:

transition: property duration timing-function delay;
  • property: Die zu animierende CSS-Eigenschaft (z. B. background-color, transform)
  • duration: Die Dauer der Animation in Sekunden oder Millisekunden
  • timing-function: Die Art der Animation (z. B. linear, ease-in, ease-out)
  • delay: Die Verzögerung vor dem Start der Animation in Sekunden oder Millisekunden

Animation von Button-Hover-Effekten

Um beim Hover einen Hover-Effekt zu erstellen, musst du eine transition für die gewünschte Eigenschaft hinzufügen. Beispielsweise kannst du eine Hintergrundfarbenänderung mit der folgenden Regel animieren:

button:hover {
  transition: background-color 0.3s ease-in-out;
  background-color: #FF0000; /* Neue Hintergrundfarbe beim Hover */
}

Hinzufügen komplexerer Animationen

Du kannst mehrere Eigenschaften innerhalb einer transition-Regel animieren. Beispielsweise kannst du transformieren und gleichzeitig die Hintergrundfarbe ändern:

button:hover {
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transform: scale(1.1); /* Skalierung des Buttons beim Hover */
  background-color: #FF0000; /* Neue Hintergrundfarbe beim Hover */
}

Verzögerte Animationen

Du kannst eine Verzögerung hinzufügen, bevor die Animation startet. Dies kann verwendet werden, um eine schrittweise Animation zu erstellen:

button:hover {
  transition: transform 0.3s ease-in-out 0.2s, background-color 0.3s ease-in-out; /* Verzögerung von 0,2 Sekunden vor dem Start der Transformation */
  transform: scale(1.1);
  background-color: #FF0000;
}

Tipps zur Optimierung der Animation

  • Verwende kurze Animationsdauern (unter 300 ms).
  • Vermeide komplexe Transformationen.
  • Verwende will-change , um den Browser auf die Animation vorzubereiten.
  • Überlege dir den Einsatz von CSS-Variablen für eine bessere Steuerbarkeit und Wiederverwendbarkeit.

Verwendung von CSS-Variablen zur Steuerung der Schaltflächenaussehens

CSS-Variablen bieten eine leistungsstarke Möglichkeit, das Aussehen deiner Schaltflächen zentral zu steuern. Durch die Definition von Variablen für Eigenschaften wie Farbe, Schriftart und Hintergrund kannst du das Design deiner Schaltflächen mit wenigen Codezeilen ändern.

Erstellen von CSS-Variablen

Um eine CSS-Variable zu erstellen, verwende die Syntax --name-der-variable: wert;. Zum Beispiel:

--button-color: #007bff;
--button-font-size: 16px;

Verwenden von CSS-Variablen in Schaltflächenstilen

Sobald du CSS-Variablen definiert hast, kannst du sie in deinen Schaltflächenstilen verwenden. Ersetze einfach den statischen Wert durch den Variablennamen. Beispiel:

.button {
  background-color: var(--button-color);
  font-size: var(--button-font-size);
}

Vorteile der Verwendung von CSS-Variablen

  • Zentrale Steuerung: Durch die zentrale Definition von CSS-Variablen kannst du Änderungen am Aussehen deiner Schaltflächen vornehmen, ohne den gesamten Code ändern zu müssen.
  • Vereinfachung der Anpassung: Die Verwendung von Variablen vereinfacht die Anpassung des Aussehens deiner Schaltflächen nach deinen persönlichen Vorlieben oder den Anforderungen des Designs.
  • Verbesserte Wartbarkeit: Die Verwendung von Variablen trägt zur Wartbarkeit deines CSS-Codes bei, da du Änderungen an einer zentralen Stelle vornehmen kannst, anstatt an mehreren Stellen im Code.
  • Konsistenz: CSS-Variablen helfen dir dabei, ein konsistentes Aussehen für deine Schaltflächen auf deiner gesamten Website zu gewährleisten.

Tipps für die Verwendung von CSS-Variablen

  • Verwende beschreibende Namen für deine Variablen, um den Zweck zu verdeutlichen.
  • Vermeide die Verwendung globaler Variablen, die unbeabsichtigte Auswirkungen auf andere Elemente haben können.
  • Definiere Standardwerte für deine Variablen, um sicherzustellen, dass deine Schaltflächen ein angemessenes Aussehen haben, auch wenn benutzerdefinierte Werte nicht definiert sind.
  • Überprüfe die Kompatibilität mit verschiedenen Browsern, da die Unterstützung für CSS-Variablen je nach Browser variieren kann.

Tipps zur Barrierefreiheit und Best Practices für CSS-Buttons

Beim Entwerfen und Implementieren von CSS-Buttons solltest du die folgenden Tipps zur Barrierefreiheit und Best Practices beachten:

Barrierefreiheit

  • Sorge für einen klaren Kontrast: Verwende Hintergrund- und Schriftfarben mit ausreichender Kontrastdifferenz, um die Lesbarkeit für Menschen mit Sehbehinderungen zu gewährleisten.
  • Verwende beschreibende Texte: Schreibe klare und prägnante Texte für deine Buttons, die ihre Funktion deutlich machen.
  • Vermeide ausschließliche Bildschaltflächen: Wenn du Bilder als Schaltflächen verwendest, stelle sicher, dass sie auch über alternativen Text zugänglich sind.
  • Unterstütze Tastaturnavigation: Deine Buttons sollten über die Tabulatortaste fokussiert werden können und mit der Leertaste aktiviert werden.

Best Practices

  • Verwende semantische HTML-Elemente: Verwende <button>-Elemente für interaktive Schaltflächen und <a>-Elemente für Links.
  • Vermeide unnötige Zierrahmen: Zu viele dekorative Elemente können den Button-Inhalt überladen und die Lesbarkeit beeinträchtigen.
  • Optimiere für verschiedene Bildschirmgrößen: Stelle sicher, dass deine Buttons auf verschiedenen Geräten und in verschiedenen Browsern gut aussehen.
  • Teste die Funktionalität: Teste deine Buttons regelmäßig, um sicherzustellen, dass sie wie erwartet funktionieren und barrierefrei sind.
  • Nutze ARIA-Attribute: Füge ARIA-Attribute hinzu, um zusätzliche semantische Informationen für assistive Technologien bereitzustellen, wie z. B. aria-label für den Button-Text.

Zusätzliche Tipps

  • Verwende die :focus-Pseudoklasse: Hebe Buttons im Fokus hervor, um die Navigation für Tastaturbenutzer zu verbessern.
  • Implementiere animierte Übergänge: Verwende CSS-Übergänge, um die Interaktion mit Buttons flüssiger zu gestalten.
  • Stelle visuelle Feedbacks bereit: Zeige einen Hover-Status oder einen Effekt an, wenn ein Button schwebt, um das Benutzererlebnis zu verbessern.
  • Verwende ein CSS-Framework: Erwäge die Verwendung eines CSS-Frameworks wie Bootstrap oder Materialize, um von vorkonfigurierten Barrierefreiheitsfunktionen und Best Practices zu profitieren.

Schreibe einen Kommentar