CSS Backgrounds & Borders
Hintergründe und Rahmen machen deine Webseite visuell ansprechend. Lass uns alle Möglichkeiten erkunden!
background-color - Hintergrundfarbe
Die einfachste Art, einen Hintergrund zu setzen:
.box {
background-color: lightblue;
}
/* Alle Farbformate funktionieren */
.box-1 {
background-color: #007bff; /* Hex */
}
.box-2 {
background-color: rgb(0, 123, 255); /* RGB */
}
.box-3 {
background-color: rgba(0, 123, 255, 0.5); /* RGBA mit Transparenz */
}
.box-4 {
background-color: hsl(210, 100%, 50%); /* HSL */
}background-image - Hintergrundbild
Bilder als Hintergrund verwenden:
.hero {
background-image: url('hero.jpg');
height: 400px;
}
/* Mehrere Bilder (übereinander) */
.multi {
background-image: url('pattern.png'), url('background.jpg');
}
/* Mit Gradient kombinieren */
.overlay {
background-image:
linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
url('image.jpg');
}background-size - Größe des Hintergrunds
Kontrolliere die Größe des Hintergrundbilds:
/* cover - Füllt kompletten Container (kann abschneiden) */
.hero {
background-image: url('hero.jpg');
background-size: cover; /* Am häufigsten! */
height: 400px;
}
/* contain - Komplettes Bild sichtbar (kann Lücken lassen) */
.contain {
background-image: url('logo.png');
background-size: contain;
}
/* Feste Größe */
.fixed {
background-image: url('icon.png');
background-size: 100px 100px;
}
/* Prozentual */
.percent {
background-image: url('pattern.png');
background-size: 50% 50%;
}Unterschied cover vs. contain:
cover- Bild füllt Container komplett (schneidet ab falls nötig)contain- Komplettes Bild sichtbar (kann Lücken lassen)
background-position - Position des Hintergrunds
Wo soll das Bild positioniert werden?
/* Schlüsselwörter */
.hero {
background-image: url('hero.jpg');
background-position: center center; /* Zentriert */
}
/* Häufige Positionen */
.top {
background-position: center top; /* Oben zentriert */
}
.bottom-right {
background-position: right bottom; /* Unten rechts */
}
/* Präzise mit Pixeln/Prozent */
.custom {
background-position: 20px 30px; /* 20px rechts, 30px unten */
}
.percent {
background-position: 50% 50%; /* Zentriert (wie center) */
}Schlüsselwörter:
left,center,right(horizontal)top,center,bottom(vertikal)
background-repeat - Wiederholung
Soll das Bild wiederholt werden?
/* repeat (Standard) - Horizontal und vertikal */
.pattern {
background-image: url('pattern.png');
background-repeat: repeat;
}
/* no-repeat - Kein Wiederholen */
.hero {
background-image: url('hero.jpg');
background-repeat: no-repeat;
}
/* repeat-x - Nur horizontal */
.stripe-x {
background-image: url('stripe.png');
background-repeat: repeat-x;
}
/* repeat-y - Nur vertikal */
.stripe-y {
background-image: url('stripe.png');
background-repeat: repeat-y;
}background - Kurzschreibweise
Alles in einer Zeile:
/* Einzeln */
.hero {
background-color: #f5f5f5;
background-image: url('hero.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
/* Kurzform (gleicher Effekt) */
.hero {
background: #f5f5f5 url('hero.jpg') center/cover no-repeat;
/* Farbe Bild Position/Size Repeat */
}
/* Noch häufiger */
.hero {
background: url('hero.jpg') center/cover no-repeat;
}Achtung: Syntax ist: position / size (Slash wichtig!)
Praktisches Beispiel - Hero Section
.hero {
/* Hintergrundbild */
background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
url('hero.jpg') center/cover no-repeat;
/* Größe */
height: 500px;
/* Content zentrieren */
display: flex;
align-items: center;
justify-content: center;
/* Text */
color: white;
text-align: center;
}
.hero h1 {
font-size: 48px;
margin-bottom: 20px;
}Gradients - Farbverläufe
Linear Gradient
Linearer Farbverlauf:
/* Einfachster Gradient (oben nach unten) */
.gradient-1 {
background: linear-gradient(blue, red);
}
/* Mit Richtung */
.gradient-2 {
background: linear-gradient(to right, blue, red); /* Links nach rechts */
}
.gradient-3 {
background: linear-gradient(to bottom right, blue, red); /* Diagonal */
}
/* Mit Winkel */
.gradient-4 {
background: linear-gradient(45deg, blue, red); /* 45 Grad */
}
/* Mehrere Farben */
.gradient-5 {
background: linear-gradient(to right, red, yellow, green, blue);
}
/* Mit Transparenz */
.gradient-6 {
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0),
rgba(0, 0, 0, 0.7)
);
}Farbstopps kontrollieren:
/* Farben an bestimmten Positionen */
.gradient {
background: linear-gradient(
to right,
red 0%,
yellow 50%,
green 100%
);
}
/* Scharfe Übergänge */
.sharp {
background: linear-gradient(
to right,
red 0% 50%, /* Rot bis 50% */
blue 50% 100% /* Blau ab 50% */
);
}Radial Gradient
Kreisförmiger Farbverlauf:
/* Einfacher radialer Gradient */
.radial-1 {
background: radial-gradient(circle, blue, red);
}
/* Mit Position */
.radial-2 {
background: radial-gradient(circle at top left, blue, red);
}
.radial-3 {
background: radial-gradient(circle at 30% 40%, blue, red);
}
/* Ellipse (Standard) */
.radial-4 {
background: radial-gradient(ellipse, blue, red);
}
/* Mehrere Farben */
.radial-5 {
background: radial-gradient(
circle,
white 0%,
lightblue 50%,
blue 100%
);
}Gradient-Beispiele
/* Sunset */
.sunset {
background: linear-gradient(to bottom, #ff6b6b, #feca57, #48dbfb);
}
/* Purple Haze */
.purple-haze {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
/* Ocean */
.ocean {
background: linear-gradient(to right, #2e3192, #1bffff);
}
/* Dark Overlay */
.overlay {
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0.3),
rgba(0, 0, 0, 0.8)
);
}border - Rahmen
Basis Border
/* Einfacher Rahmen */
.box {
border: 2px solid black;
/* ↑ ↑ ↑
| | └─ Farbe
| └──────── Style
└──────────── Breite
*/
}
/* Alle Border-Styles */
.solid {
border: 2px solid black;
}
.dashed {
border: 2px dashed blue;
}
.dotted {
border: 2px dotted red;
}
.double {
border: 4px double green;
}
.groove {
border: 5px groove gray;
}
.ridge {
border: 5px ridge gray;
}
.inset {
border: 5px inset gray;
}
.outset {
border: 5px outset gray;
}Border pro Seite
/* Verschiedene Borders pro Seite */
.box {
border-top: 3px solid red;
border-right: 2px dashed blue;
border-bottom: 1px dotted green;
border-left: 4px double orange;
}
/* Nur eine Seite */
.underline {
border-bottom: 2px solid #333;
}
.sidebar {
border-left: 4px solid #007bff;
padding-left: 15px;
}border-radius - Abgerundete Ecken
/* Alle Ecken gleich */
.rounded {
border-radius: 10px;
}
/* Perfekter Kreis */
.circle {
width: 100px;
height: 100px;
border-radius: 50%;
}
/* Pill-Form */
.pill {
padding: 10px 30px;
border-radius: 50px; /* Sehr hoher Wert */
}
/* Einzelne Ecken */
.custom {
border-radius: 10px 20px 30px 40px;
/* oben-links, oben-rechts, unten-rechts, unten-links */
}
/* Nur oben abgerundet */
.top-rounded {
border-radius: 10px 10px 0 0;
}
/* Nur links abgerundet */
.left-rounded {
border-radius: 10px 0 0 10px;
}box-shadow - Schatten
Schlagschatten für Boxen:
/* Einfacher Schatten */
.card {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
/* x y blur farbe */
}
/* Größerer Schatten */
.elevated {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* Schatten mit spread */
.spread {
box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.1);
/* x y blur spread farbe */
}
/* Mehrere Schatten */
.multi-shadow {
box-shadow:
0 2px 4px rgba(0, 0, 0, 0.1),
0 4px 8px rgba(0, 0, 0, 0.1);
}
/* Inner Shadow (inset) */
.inset {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}
/* Farbiger Schatten */
.colored {
box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}
/* Hover-Effekt */
.card:hover {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
transition: box-shadow 0.3s;
}Syntax:
box-shadow: [inset] x-offset y-offset blur-radius spread-radius color;
- x-offset - Horizontal (positiv = rechts)
- y-offset - Vertikal (positiv = unten)
- blur-radius - Unschärfe
- spread-radius - Größe (optional)
- color - Schattenfarbe
- inset - Innerer Schatten (optional)
Vollständiges Beispiel - Card
.card {
/* Box Model */
width: 320px;
padding: 0;
margin: 20px;
/* Border & Shadow */
border: 1px solid #e0e0e0;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
/* Overflow für border-radius */
overflow: hidden;
/* Transition für Hover */
transition: box-shadow 0.3s, transform 0.3s;
}
.card:hover {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
transform: translateY(-4px);
}
.card-image {
width: 100%;
height: 200px;
object-fit: cover;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.card-content {
padding: 20px;
}
.card-title {
margin: 0 0 10px 0;
font-size: 24px;
font-weight: 700;
}
.card-text {
margin: 0 0 15px 0;
color: #666;
line-height: 1.6;
}
.card-button {
display: inline-block;
padding: 10px 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
text-decoration: none;
border-radius: 6px;
transition: transform 0.2s;
}
.card-button:hover {
transform: scale(1.05);
}Background-Patterns
CSS-Patterns mit Gradients:
/* Streifen */
.stripes {
background: repeating-linear-gradient(
45deg,
#f5f5f5,
#f5f5f5 10px,
white 10px,
white 20px
);
}
/* Punkte */
.dots {
background-image: radial-gradient(circle, #ddd 1px, transparent 1px);
background-size: 20px 20px;
}
/* Kariert */
.checkerboard {
background-image:
linear-gradient(45deg, #ddd 25%, transparent 25%),
linear-gradient(-45deg, #ddd 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #ddd 75%),
linear-gradient(-45deg, transparent 75%, #ddd 75%);
background-size: 20px 20px;
background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}Best Practices
✅ DO:
- background-size: cover für Hero-Images
- box-shadow für Tiefe (Cards, Buttons)
- border-radius für moderne Designs
- Transparente Overlays bei Hintergrundbildern
- Subtile Schatten (nicht übertreiben!)
- CSS Gradients statt Bildern (besser Performance)
❌ DON'T:
- Nicht zu starke Schatten (wirkt unrealistisch)
- Nicht zu große border-radius (außer für Kreise/Pills)
- Nicht background-attachment: fixed (Performance!)
- Keine riesigen Hintergrundbilder (Ladezeit!)
- Nicht zu viele Gradients (kann unruhig wirken)
Beliebte Gradient-Kombinationen
:root {
/* Blues */
--gradient-ocean: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--gradient-sky: linear-gradient(to right, #00d2ff 0%, #3a47d5 100%);
/* Warm */
--gradient-sunset: linear-gradient(to right, #fa709a 0%, #fee140 100%);
--gradient-fire: linear-gradient(to right, #f83600 0%, #f9d423 100%);
/* Cool */
--gradient-mint: linear-gradient(to right, #00b09b, #96c93d);
--gradient-purple: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.button-ocean {
background: var(--gradient-ocean);
}📝 Quiz
Was ist der Unterschied zwischen background-size: cover und contain?
📝 Quiz
Welche box-shadow Syntax ist korrekt?
Tipps & Tricks
Glassmorphism Effect
Erstelle moderne Glass-UI Effekte:
.glass {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
Trendy und funktioniert perfekt mit Overlays!
Multiple Box-Shadows kombinieren
Erstelle komplexe Schatten mit mehreren Layern:
.card {
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.12),
0 1px 2px rgba(0, 0, 0, 0.24);
}
.card:hover {
box-shadow:
0 14px 28px rgba(0, 0, 0, 0.25),
0 10px 10px rgba(0, 0, 0, 0.22);
}
Material Design Schatten für realistischen Effekt!
CSS Patterns ohne Bilder
Erstelle Muster nur mit CSS:
/* Streifen-Pattern */
.stripes {
background: repeating-linear-gradient(
45deg,
#f0f0f0,
#f0f0f0 10px,
#e0e0e0 10px,
#e0e0e0 20px
);
}
/* Punkte-Pattern */
.dots {
background-image: radial-gradient(circle, #333 1px, transparent 1px);
background-size: 20px 20px;
}
Gradient Text
Text mit Gradient färben:
.gradient-text {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: 3rem;
font-weight: bold;
}
Übungsaufgaben
Aufgabe 1: Hero Section
Erstelle eine Hero-Section mit:
- Hintergrundbild (background-size: cover)
- Dunklem Overlay (linear-gradient mit rgba)
- 500px Höhe
- Zentriertem Text
Aufgabe 2: Card mit Hover
Style eine Card mit:
- border-radius: 12px
- Subtiler box-shadow
- Stärkerer Schatten beim Hover
- Smooth Transition
Aufgabe 3: Button mit Gradient
Erstelle einen Button mit:
- Linear Gradient Background
- border-radius: 6px
- box-shadow
- Hover-Effekt (transform: scale)
Nächste Schritte
Du kennst jetzt:
- ✅ background (color, image, size, position, repeat)
- ✅ Gradients (linear, radial)
- ✅ border & border-radius
- ✅ box-shadow
- ✅ Praktische Kombinationen
Als Nächstes lernst du:
- Flexbox (modernes 1D-Layout)
- CSS Grid (2D-Layouts)
- Transitions & Animations
Weiter so! 🚀
Gut gemacht! 🎉
Du hast "CSS Backgrounds & Borders - Hintergründe & Rahmen stylen" abgeschlossen
Artikel bewerten
Bitte einloggen um zu bewerten
Das könnte dich auch interessieren
CSS Box Model - margin, padding, border verstehen
Lerne das CSS Box Model verstehen: Content, Padding, Border, Margin und den Unterschied zwischen box-sizing: content-box und border-box.
CSS Basics - Deine Seite gestalten
Lerne, wie du mit CSS deine HTML-Seiten zum Leben erweckst. Farben, Schriftarten, Layouts - alles was du für schöne Webseiten brauchst.
CSS Farben - hex, rgb, rgba, hsl erklärt
Lerne alle Wege, Farben in CSS zu definieren: Farbnamen, Hex-Codes, RGB, RGBA, HSL und wann du welches Format nutzt.