-
CSS-Bildergalerie mit Vorschaubildern
13.11.2010 in HTML/CSS von vitus37
- Zum Downloadmanager hinzufügen
- PDF-Datei herunterladen
- Arbeitsmaterialien herunterladen
- Kommentare ansehen (31)
- Kategorie: HTML/CSS
- Erstellt mit Programmversion: 1.00
- Dateigröße (PDF): 1.1 MB
- Dateigröße (Arbeitsmaterial): 1.7 MB
- Bisherige Zugriffe: 2452
Lieber Gast …
… die Inhalte von PSD-Tutorials.de stehen nur registrierten Mitgliedern zur Verfügung. Damit wollen wir den Communitygedanken weiterführen. Als Mitglied trägst du - wenn auch nur im Kleinen - zum Puls der Community bei. Und nur so ist es möglich, weiterhin hochwertige Inhalte für alle bereitzustellen.
Vorteile der kostenlosen Mitgliedschaft
Mit der kostenlosen und schnell erledigten Registrierung erhältst du viele nachhaltige Vorteile, die wir dir hier in aller Kürze aufzeigen möchten:
- PSD steht für professionelles Know-how in den Bereichen Bildbearbeitung mit Photoshop, Fotografie, Webentwicklung, Layout- und Vektorbearbeitung, 3D-Bearbeitung mit Cinema 4D und Co.
- Über 3.000 Tutorials mit druckbarer PDF-Datei und teilweise den zugehörigen Arbeitsmaterialien
- Mehr als 1.900 Video-Trainings als Stream zur Direktanzeige und zum Download
- Abruf von über 2.200 Downloads zu Photoshop-Presets, 3D-Modellen, Grußkarten, Texturen & Co
- Zugriff auf ein sehr aktives Forum mit Antworten im Minutentakt
- Deine Daten sind sicher. Sie werden nicht weitergegeben! Die Mitgliedschaft kann jederzeit und ohne Aufwand wieder gelöscht werden.
-
Registriere dich bei uns und du erhältst die Selection-DVD mit über 24 Stunden Video-Trainings zu Photoshop, InDesign uvm. als Download gratis (sofern Newsletter aktiviert).
Reinschnuppern als Gast
Niemand kauft gerne die Katze im Sack, auch wenn sie kostenlos ist. Wir haben eine Handvoll Tutorials und Video-Trainings ausgesucht, die du auch als Gast ohne Registrierung ansehen kannst. Gefallen sie dir, stehen dir nach der Registrierung alle oben genannten Inhalte zur Verfügung.
- Download: Sepia-Vintage-Effekt-Aktion
- Download: Screenguide-Magazin als PDF zum Download
- Download: Spiegelungen 2
- Download: Vektor-Logo (Eidechse)
- Tutorial: Ballons aus einer Schublade
- Tutorial: Neue Pinsel erstellen leicht gemacht
- Tutorial: Kommerzielle Fotografie 01: Berufswunsch Fotografie
- Tutorial: Linien zum Glühen bringen
- Videotraining: Lichtscheinkontureneffekt mit Animation
- Videotraining: CorelDRAW X6 Grundlagen - Hilfsmittel Freihand, 2-Punkt-Linie, Bezier, B-Spline, Polylinie, Stift, 3-Punkt-Kurve
- Videotraining: CorelDRAW X6 Grundlagen: Hilfsmittel Form - Heranziehen, Zurückweisen
- Videotraining: Die Programmoberfläche und der Arbeitsbereich von Adobe InDesign
Photoshop-Workshop-DVD - Webdesign
- Webdesign mit Photoshop: alle erstellten Layouts mit Arbeitsdatei (PSD)!
- Umsetzung erstellter Weblayouts in HTML/CSS
- Tipps & Tricks zum Webdesign in Photoshop und zur Webentwicklung
Kommentare
Weitere KommentareAnleitung (Bilder + Extras werden nur für Mitglieder eingeblendet)
CSS-Bildergalerie mit Vorschaubildern
Einleitung:
Das folgende Tutorial beschreibt das schrittweise Erstellen einer Bildergalerie in den Sprachen HTML und CSS. Sie basiert auf dem Anzeigen verschiedener Bilder mit dem CSS-hover-Effekt.Viel Spaß beim Lesen und ggf. Verwenden. :)
Um vorab zu sehen, worum es hier eigentlich geht, hier eine Vorschau:

Schritt 1:
Ordnerstruktur und Dateien
Um die Übersichtlichkeit der Bildergalerie hinter den Kulissen zu erhalten, legen wir im Hauptverzeichnis unserer Website einen Ordner galerie und darin einen Unterordner bilder an.In den Ordner galerie/bilder speichern wir die Galeriebilder ab.
Im Ordner galerie erstellen wir eine CSS-Datei mit dem Namen style.css.
Schematische Verzeichnisstruktur:
// Websitedateien
// Ordner: galerie
----// Datei: style.css
----// Ordner: bilder
--------// Datei: bild1.jpg
--------// Datei: bild2.png
--------// Datei: bild3.jpg
--------// Datei: bild4.jpg
Hinweis: Die Bilder sollten ggf. komprimiert werden.
Schritt 2:
HTML-Datei
(Hinweis: In den Beispielen wird HTML 5 genutzt.)Wir öffnen die Website-Datei (i.d.R. HTML-Datei), in der die Bildergalerie angezeigt werden soll, und suchen uns den entsprechenden Codeabschnitt zum Einfügen aus.
<!DOCTYPE html> <html> <head> <title>CSS-Bildergalerie mit Thumbnails</title> </head> <body> <h1>CSS-Bildergalerie mit Thumbnails</h1> <p>Dies ist ein Tutorial zum Erstellen einer Bildergalerie in HTML und CSS mit Vorschaubildern.</p> <!-- Hierher soll die Bildergalerie --> <p>Footer</p> </body> </html>
Wir grenzen die gesamte Galerie mit einem <div> ein und geben diesem die Klasse galerie.
<div class="galerie"> ... </div>
Für jedes der Galeriebilder legen wir nun noch ein weiteres <div> an, dem wir die Klasse bild zuweisen.
<div class="galerie"> <div class="bild"> ... </div> <div class="bild"> ... </div> ... </div>
In diese <div>s kommen nun für jedes Galeriebild zwei <img>-Tags; eines für die Vorschau und eines für die Hauptansicht. Entsprechend werden die Klassen vorschau und ansicht vergeben. Dem Bild mit der Klasse ansicht geben wir zusätzlich eine eindeutige ID, am besten passend zum Bild.
Zusätzlich fügen wir dem HTML-Dokument im <head>-Tag folgenden Verweis auf ein Stylesheet hinzu:
<link rel="stylesheet" type="text/css" href="galerie/style.css" />
Das HTML-Dokument sollte nun etwa so aussehen:
<!DOCTYPE html> <html> <head> <title>CSS-Bildergalerie mit Thumbnails</title> <link rel="stylesheet" type="text/css" href="galerie/style.css" /> </head> <body> <h1>CSS-Bildergalerie mit Thumbnails</h1> <p>Dies ist ein Tutorial zum Erstellen einer Bildergalerie in HTML und CSS mit Vorschaubildern.</p> <!-- Hier beginnt der Galerie-Code --> <div class="galerie"> <div class="bild"> <img src="galerie/bilder/bild1.jpg" alt="Peace-Zeichen" class="vorschau" title="Peace-Zeichen" /> <img src="galerie/bilder/bild1.jpg" alt="Peace-Zeichen" class="ansicht" title="Peace-Zeichen" id="peace" /> </div> <div class="bild"> <img src="galerie/bilder/bild2.png" alt="Flugzeug Düsenjäger" class="vorschau" title="Flugzeug Düsenjäger" /> <img src="galerie/bilder/bild2.png" alt="Flugzeug Düsenjäger" class="ansicht" title="Flugzeug Düsenjäger" id="flugzeug" /> </div> <div class="bild"> <img src="galerie/bilder/bild3.jpg" alt="Schwarz-Weiß Peace-Zeichen" class="vorschau" title="Schwarz-Weiß Peace-Zeichen" /> <img src="galerie/bilder/bild3.jpg" alt="Schwarz-Weiß Peace-Zeichen" class="ansicht" title="Schwarz-Weiß Peace-Zeichen" id="schwarzpeace" /> </div> <div class="bild"> <img src="galerie/bilder/bild4.jpg" alt="Flugzeug Infotafel" class="vorschau" title="Flugzeug Infotafel" /> <img src="galerie/bilder/bild4.jpg" alt="Flugzeug Infotafel" class="ansicht" title="Flugzeug Infotafel" id="flugzeugtafel" /> </div> <!-- Optional: --> <p style="margin: 10px;">Bitte ein Bild auswählen.</p> </div> <!-- Hier endet der Galerie-Code --> <p>Footer/Copyright etc.</p> </body> </html>
Schritt 3:
CSS-Code
Kommen wir nun zum Stylesheet der Bildergalerie. Im Folgenden werden nur die Grundfunktionalitäten gezeigt und erläutert. Das Design könnt ihr übernehmen oder nach eigenen Wünschen abändern und verschönern.Zuerst geben wir unserem <div> galerie eine feste Höhe und eine feste Breite. Dazu eine Hintergrundfarbe und einen Rahmen.
div.galerie{
width: 400px; /* Breite der Galerie */
height: 440px; /* Hoehe der Galerie */
overflow: hidden; /* Überschneiden von Bildern abschalten */
/* weitere Angaben: */
background: #999999; /* Hintergrund */
border: 2px #555555 solid; /* Rahmen */
}
Als Nächstes kümmern wir uns um die Vorschaubilder, die sog. Thumbnails. Nun wird es etwas komplizierter, denn Mathe ist gefragt. ;)
Wir teilen die Breite des <div> galerie durch die Anzahl der Galeriebilder. Im Fall dieses Beispiels entspricht dies also 400px geteilt durch 4, macht 100px.
Zusätzlich ziehen wir 20px ab, da wir an den Seiten je 10px Abstand haben wollen. Letzten Endes also 80px für Höhe und Breite des Thumbnails.
Daraus ergibt sich etwa dieser Code:
div.galerie div.bild{
width: 80px; /* Breite des Vorschaubildes */
height: 80px; /* Hoehe des Vorschaubildes */
padding: 10px; /* Abstand zwischen Galerierand und Vorschaubild */
float: left; /* Vorschaubilder nebeneinander platzieren */
clear: right; /* " */
}
Dem Vorschaubild selbst geben wir ebenfalls eine Breite von 80px. (Die Höhe wird i.d.R. vom Browser selbst generiert, so wird das Bild nicht verzerrt).
div.galerie img.vorschau{
width: 80px; /* gleich wie div.bild->width */
}
Soweit werden die Thumbnails richtig angezeigt.
Jetzt sollen die Ansichtsbilder verdeckt werden, bis sie durch ein Maus-hover über das jeweilige Thumbnail angezeigt werden. Dazu setzen wir diese für den späteren Einsatz ganz in den Vordergrund, lassen sie absolut positionieren und geben ihnen eine Breite von 380px (entspricht der Breite der Galerie minus zwei mal dem Abstand zum Galerierand).
div.galerie img.ansicht{
display: none; /* Ansichtsbilder verdecken */
position: absolute; /* absolute Positionierung */
z-index: 100; /* in den Vordergrund setzen */
width: 380px; /* Breite des Ansichtsbild */
}
Als Nächstes der Code, der die Bilder beim hover anzeigen lässt:
div.galerie div.bild:hover img.ansicht{
display: block;
}
Soweit sieht man die Thumbnails, die beim Drüberfahren mit der Maus die Ansichtsbilder anzeigen; jedoch sind diese noch verschoben.
Jetzt kommen die IDs zum Einsatz, die wir den Ansichts-<img>-Tags zugewiesen haben. Wir müssen die Ansichtsbilder mit dem margin-Attribut in die richtige Position versetzen. Das ist der einzige Nachteil an dieser Galerie, da man jedes Bild einzeln positionieren muss.
Im Falle dieses Beispiels sieht der Code so aus:
/* einzelne Bilder positionieren: */
#peace{
margin-top: 15px; /* Abstand von Ansichtsbild nach oben */
}
#flugzeug{
margin-left: -100px; /* Abstand von Ansichtsbild nach links */
margin-top: 45px; /* Abstand von Ansichtsbild nach oben */
}
#schwarzpeace{
margin-left: -200px; /* Abstand von Ansichtsbild nach links */
margin-top: 40px; /* Abstand von Ansichtsbild nach oben */
}
#flugzeugtafel{
margin-left: -300px; /* Abstand von Ansichtsbild nach links */
margin-top: 30px; /* Abstand von Ansichtsbild nach oben */
}
Nun nochmal der gesamte CSS-Code zum Kopieren:
div.galerie{
width: 400px; /* Breite der Galerie */
height: 440px; /* Hoehe der Galerie */
overflow: hidden;
/* weitere Angaben: */
background: #999999;
border: 2px #555555 solid;
}
div.galerie div.bild{
width: 80px; /* Breite des Vorschaubildes */
height: 80px; /* Hoehe des Vorschaubildes */
padding: 10px; /* Abstand zwischen Galerierand und Vorschaubild */
float: left; /* Vorschaubilder nebeneinander platzieren */
clear: right;
}
div.galerie img.vorschau{
width: 80px; /* gleich wie div.bild->width */
}
div.galerie img.ansicht{
display: none; /* Ansichtsbilder verdecken */
position: absolute; /* absolute Positionierung */
z-index: 100; /* in den Vordergrund setzen */
width: 380px; /* Breite des Ansichtsbild */
}
div.galerie div.bild:hover img.ansicht{
display: block;
}
/* einzelne Bilder positionieren: */
#peace{
margin-top: 15px; /* Abstand von Ansichtsbild nach oben */
}
#flugzeug{
margin-left: -100px; /* Abstand von Ansichtsbild nach links */
margin-top: 45px; /* Abstand von Ansichtsbild nach oben */
}
#schwarzpeace{
margin-left: -200px; /* Abstand von Ansichtsbild nach links */
margin-top: 40px; /* Abstand von Ansichtsbild nach oben */
}
#flugzeugtafel{
margin-left: -300px; /* Abstand von Ansichtsbild nach links */
margin-top: 30px; /* Abstand von Ansichtsbild nach oben */
}
Das Ganze muss noch in galerie/style.css abgespeichert werden und sollte dann funktionieren.
Viel Spaß noch mit der Galerie.
P.S.
Ich plane, diese Bildergalerie mit PHP zu automatisieren, sodass die Bilder nur in einen Ordner kopiert werden müssen und der Rest selbst generiert wird.
Gruß
Vitus
-
Reklame
-
-
- Textur größe anpassen
- Wacom an zwei Monitoren
- Maske bearbeiten
- InDesign - Datenzusammenführung auf zwei Seiten
- Starthilfe für Fotoneuling
- Was meint ihr?
- Oberfläche eindrücken
- Probleme mit Bevel
- Dropdown-Felder funktionieren nicht
- [WIP] - Ron21rn - Showroom
- Produktfotografie - besser Dauerlicht oder Blitz?
- Lightroom 4 - PC und MacBook
- R14: Body Tags fehlen...
- illustrator konturschnitt
- Wischmop mit Hair erstellen?
- Verliere langsam Übersicht, wie speichert ihr?
- Durchscheinendes T-shirt bei Kleid einfärben
- Ron21rn Showroom
- Erstellung eines LOGO´s für ein Fotostudio mit CS5
- Welche Programme nutzt Ihr für Plakate, Flyer u. a. Printlayouts?
-
-
Aktuelles Commag
Anzeige
-
Anzeige


niclas123456789
24.03.2013 - 18:31
Super Tutorial weiter so
Boxerlady
27.01.2012 - 10:30
Dankeschön! Gut erklärt und sehr hilfreich für mich :-)
Bending
22.07.2011 - 01:05
Vielen Dank! War sehr hilfreich!
geändert von Bending am 22.07.2011 - 01:06
mindraper
26.06.2011 - 03:42
An und für sich ein schönes Tut, nur frage ich mich gerade, wo (abgesehen vom DOCTYPE) hier HTML 5 genutzt wird. Das ist nichts, wofür man diesen DOCTYPE nutzen und versch. Browser evtl. in den Quircks zwingen müsste.
Insofern von mir nur ein "befriedigend".
Ai_relav
25.05.2011 - 12:25
Danke hat mir sehr geholfen :D
pcjette
15.03.2011 - 13:03
Ist meiner Meinung nach nur für kleine Bildergalerien ohne Pflege realisierbar. Die Idee ist sehr gut und gut beschrieben und erklärt ist es auch.
vitus37
24.11.2010 - 19:37
Guten Abend an alle,
ich bin für eure positiven als auch negativen Antworten sehr dankbar. Ich habe mir eure Raschläge zu Herzen genommen und arbeite derzeit an einer Version der Galerie in Verbindung mit PHP.
Ich denke ihr werdet positiv überracht, möchte an dieser Stelle aber auch noch nicht mehr verraten. Ich halte euch auf dem Laufenden!
LG Vitus
artesmaracay
24.11.2010 - 19:33
Vielen Dank! Gut erklaert. Inwieweit es alternative Loesungen zu mengenmaessig ueberschaubaren Galerien gibt, bin ich noch nicht firm genug, um das zu beurteilen. Hilft aber schonmal sehr!
DerRio
21.11.2010 - 16:11
Nette Anregung, da ich gerade an einer Bildergalerie für eine HP bastle. Aber für jedes Bild eine eigene ID ist mir nicht flexibel genug. Ich möchte schnell mal Bilder hinzufügen oder löschen können, ohne groß am Code etwas ändern zu müssen.
websmurf
19.11.2010 - 10:59
Für jedes Bild eine eigene CSS Klasse, das ist für Galerien mir mehr Bildern eine absolute Fummelei und absolut nicht zeitgemäß. Durch die fehlende Strukturierung der Bilder, z.B. mit Listen, ist das Tutorial auch für Anfänger nicht geeignet. Um HTML und CSS zu lernen sollte man von Anfang an strukturiert vorgehen. Und wo ist HTML5 eingesetzt???
micke83
19.11.2010 - 10:20
Die Bilder würden sich anbieten als Listenelemente zu setzen, ist einfacher zu handhaben. Für das Auge ansprechender könnte es auch gemacht werden. Naja für wirkliche Anfänger geeignet, aber sowas würde ich nie und nimmer in einer Webseite einbauen. Da gibt es viel bessere Lösungen und Techniken.
Spearboy
17.11.2010 - 07:46
Vielen Dank für dieses Tut, für mich als Einsteiger ideal.
germinal
16.11.2010 - 20:08
Im Moment suche ich nach einer ansprechenden Galerie für meinen Auftritt, bei jQuery habe ich auch schon ansprechende Sachen gefunden. Allerdings finde ich dieses Beispiel, beschränkt auf HTML und CSS, sehr ansprechend und aufschlußreich. Denn ich lerne ja noch.
Also vielen Dank an dieser Stelle!
j.
RaySpoint
16.11.2010 - 10:17
Ja,
Ich habe jetzt ehrlich gesagt auch etwas mehr erwartet, aber immer noch ein nettes Grundlagentutorial.
Danke für deine Mühe!
Ranger1281
16.11.2010 - 01:01
echt Klasse, Danke für dieses schöne Tut
EL1985
15.11.2010 - 17:41
ein super tutorial :-) dankeschön
hubspe
15.11.2010 - 17:32
Diese Galerie ist semantisch leider vollkommen unzureichend umgesetzt.
Eine Bildergalerie ist immer eine Liste von Bildern. Entweder eine ul oder eine Definitionsliste.
Nerevar25
15.11.2010 - 14:30
Toll erklärt, jedoch finde ich die auf diesem Wege entstehenden Ladezeiten nicht so vorteilhaft :/
vitus37
15.11.2010 - 16:59
Wie bereits gesagt:
Die Ladezeiten der Bilder werden nicht dadurch verlängert, dass zwei img-Tags auf's selbe Bild verweisen.
Das Bild wird nur ein einziges Mal in den Cache geladen.
Gack81
14.11.2010 - 18:10
Schön herrausgearbeitet ;)
geht dennoch auch so ehnlich mit xhtml/css ;)